plot each line in a matrix
128 次查看(过去 30 天)
显示 更早的评论
I am trying to plot each line in sw matrix. so there will be 16 line plot in the same graph.
the rows from each matrix needs to be the y axis
x axis is time. (t = linspace (0:0.4:4))
sw is a 16x10 double matrix
plot (t,sw)
0 个评论
回答(1 个)
dpb
2019-3-1
plot (t,sw.')
Just transpose the array to use plot()'s builtin facility to plot each column as a variable.
It's the power of the matrix-orientation of Matlab syntax; just have to think about how to apply it to your given problem.
Or, of course, rethink your data orientation to use the Matlab convention of columns being the variables and rows the observations and not have to do anything different.
2 个评论
dpb
2019-3-1
"Show your work!"
If the problem is as you described, it will "work".
t=linspace(0,4,10).'; % your t in correct syntax
x=randn(16,10); % make a data array of your given size
y=10:10:160; % we'll make so can tell "who's who in the zoo!"
z=bsxfun(@plus,x,y.'); % by adding 10 to each of the row means
figure
plot(t,z.') % and plot the transposed array, z
which yielded the following figure:
where you can see the 16 lines and each has a mean offset by 10.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Bar Plots 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!