matlab中有多个for循环,画图

有多个for循环,每个for循环里面还有几个for循环,但是只有最外面的for有图形输出,请问怎么注释每个for循环画出的图形?用legend可以吗?

标注用元胞数组,可以用for循环产生,直接使用命令legend(元胞数组)

x=linspace(0,2*pi,10)
for ii=1:3
lgstr=cell(1,3)
for jj=1:3
y(:,jj)=jj*sin(x)
lgstr{jj}=num2str(jj)
end
subplot(3,1,ii);plot(x',y)
legend(lgstr)
end追问

是互无关联的几个for语句,分别有画出图形的,就是说这些图形都画在一个figure上,问怎么分别注释这些不同的图形

追答

理解的不清楚:请问怎么注释每个for循环画出的图形?什么意思?每画一条曲线(在新图?还是同一个图?)注释一次?

追问

每个for画出来的是点,我的程序一共有3个for循环画出三种点,每种点都有好几个,我想用legend注释每一种点,但是因为第一个for就能画出好几个点,因此3个注释出来的都是同一种点,就是说我注释的名字不一样,但是图形都是同一种,因为legend是依据绘图的先后顺序,依据输出字符串对各个图形进行注释说明。所以我不知道该怎么注释这三种图形

追答

每个for画出来的是点---是指你的曲线是单点的?也就是说,你总共画出了很多条单点曲线?只是标记类型只有三种,比如□、◇、○三种,,但具有一种点型的其实不是matlab认为的一条曲线上?

说实在很迷糊,没代码,不知道你要做什么

追问

画出来是这样的图,蓝色圆圈表示的是一个for语句中画出来的,红色*是第二个for里面画出来的,绿色*是第三个for画出来的,我想注释一下三种颜色的图形表示什么,可以实现吗?

追答

legend('1','2','3')

追问

追答

那么得用句柄,改为
蓝线:p1=plot...
红线:p2=plot...
绿线:p3=plot...
legend([p1,p2,p3,'1','2','3'])

p1=plot(1,1,'bo')
hold on;
p1=plot(1,1.5,'bo')
p2=plot(2,2,'r*')
p2=plot(2,1.5,'r*')
p3=plot(3,3,'g*')
p3=plot(3,3.5,'g*')
legend([p1,p2,p3],'1','2','3')

温馨提示:内容为网友见解,仅供参考
无其他回答

matlab中有多个for循环,画图
标注用元胞数组,可以用for循环产生,直接使用命令legend(元胞数组)如 x=linspace(0,2*pi,10)for ii=1:3 lgstr=cell(1,3)for jj=1:3 y(:,jj)=jj*sin(x)lgstr{jj}=num2str(jj)end subplot(3,1,ii);plot(x',y)legend(lgstr)end ...

matlab for循环画图
figure hold on for i=1:7;p=p*6^(-i);s5='(10*50*p*(1-p)^49)\/(4+7*50*p*(1-p)^49-3*(1-p)^50)';s5=vectorize(s5);s5=eval(s5);plot(p,s5,'*')end for循环流程图 执行过程为:求解表达式1;求解表达式2。若其值为真,则执行 for 语句中指定的内嵌语句,然后执行第...

怎么用matlab 的for循环 画六组数的图?
你可以定义这个个数组A[i,j],然后可以按行,或者按列循环,使用画图命令plot,如果想把六条曲线画在同一个图里,就使用hold on,如果是分别画图,又在一个界面内,使用subplot,具体查查命令格式。你试试吧,希望对你有帮助

matlab 为啥这个程序画图只显示最后一个
循环结束后,i=40,改一下:clear all;clc;x=[18;20;18;17;17;12;16;16;17;12;15;13;15;14;15;12;14;13;15;17;16;16;15;15;12;13;18;17;13;17;12;16;17;20;16;15;17;20;22;13]y=[16;18;18;15;14;10;16;18;20;15;16;13;17;14;18;13;15;15;17;19;15;13;...

MATLAB for循环每循环一次产生一条曲线,怎么画出每条曲线?
MATLAB绘制曲线的函数为plot().在for循环中每次循环画一条曲线,需要在for语句中,添加hold on语句。这样做的目的是为了保持每次循环画一条曲线,N次循环画出N条曲线。

matlab 循环语句 画图
有多重循环方式,最简单的是for语句,在有while

matlab使用for循环绘制曲线图时,如何自定义曲线颜色?
matlab使用for循环绘制曲线图,自定义每个曲线图的颜色,可以使用plot(x,y,'--','color',rand(1,3));这样的代码实现,因为代码的外层for循环只跑4次,画4次plot,在开头加一个clf擦除旧图就可。效果图如下 代码修改列出如下:clc;clear all;clf;syms rp r A0 B0 ...

如何在Matlab中的for语句中画图
y=[10;5];Y=[];for i=1:20 y=[0.2991 0.0049;0.0763 0.6482]*y;Y=[Y,y];end bar(Y')

MATLAB在for语句中使用plot画图,画出来只有点不是线,输出的y在前面的语...
在for语句中使用plot画图,画出来是只有点。因为plot(SNR,BER,'-ro')中的BER变量为单一数值。所以如想绘画出直线段的话,则应考虑数值变量,即BER变量为一数组变量。因此,题主的代码应作如下改动:1、for循环语句头改动,即为 for i=0:1:15 2、BER=nerr\/(cols-rows)代码改动,即为 BER(i...

在线等!!!matlab如何把for循环生成的数据画在一张图上
对每组(Tc, Tm),都能解出两条曲线,这称为一组。2. plot(t, X); 这一句话就可以同时绘制出同一组内的两条曲线,不必分开画。3. 出于调试的方便,建议把legend那一段先去掉。4. 如果没有特殊的必要,建议把所有曲线全部计算完毕后,再另起一个for循环画图。这样一边算一边画效率会比较低。

相似回答