我的数据Matfile是256x150000x11,我希望150,000作为x轴(以毫秒为单位),并且图形上有11条线。 y轴应该是已经来自文件内部的电压值。一幅图应代表1/256。因此,从技术上讲,我应该有256个图形,这些图形具有相同的标记轴和图形线数。您能帮我弄清楚如何在Matlab中进行绘制吗?这是我的代码:
function importfile(fileToRead1)
%IMPORTFILE(FILETOREAD1)
% Imports data from the specified file
% FILETOREAD1: file to read
% Auto-generated by MATLAB on 04-Mar-2019 07:15:26
% Import the file
%newData1 = load('-mat', fileToRead1);
newData1 = load('Sub21.mat')
% Create new variables in the base workspace from those fields.
vars = fieldnames(newData1);
for i = 1:length(vars)
assignin('base', vars{i}, newData1.(vars{i}));
end
[n,p] = size(newData1)
t = 1:n;
plot(t,newData1)
答案 0 :(得分:0)
如果我理解您的问题正确,则可以将其绘制在从1到256的for循环中。
newData1 = load('Sub21.mat')
for n=1:256
plot(newdata(n,:,1)) %Plotting n of 256, all 150000 and 1st of the 11 lines
hold on;
plot(newdata(n,:,2))
hold on;
plot(newdata(n,:,3))
hold on;
.
.
.
plot(newdata(n,:,11))
hold on;
xlabel('milisec')
ylabel('voltage')
legend('name1','name2', .... , 'name11')
end
% or maybe two for loops
for n=1:256
for m=1:11
plot(newdata(n,:,m)) %Plotting n of 256, all 150000 and m of the 11 lines
hold on;
end
end
您可能想使用子图,因此最终不会得到256位数字。
您可以发送一些数据吗?