为什么不显示积分? 我试图在图的顶部绘制具有不同符号的四个不同的插值点。我必须创建一个具有与点相对应的形状的图例。
A=[1.52 -.7;.56 .4]
l=eig(A);
L=max(l);
Xo=[1;0];
for k = 1:50
Xk=A*Xo;
Xo=Xk;
if k == 1
plot(Xo,Xk,'mo');
elseif k == 2
plot(Xo,Xk,'mx');
elseif k == 3
plot(Xo,Xk,'m+');
elseif k == 4
plot(Xo,Xk,'m*');
elseif k == 5
plot(Xo,Xk,'ms');
else
plot(Xo,Xk);
end
end
答案 0 :(得分:2)
默认情况下,每次调用plot
时,Matlab都会清除该图并“重新开始”。
如果你想在彼此之上绘制两件事,你可以使用
hold on
或
hold all
这些略有不同。使用hold on
,您可以保持“一切不变”。下一个绘图将使用与最后一个相同的颜色,等等。使用hold all
,您的下一个绘图将是不同的颜色(但它不会删除以前的绘图)。
因此,您可以按如下方式更改代码:
A=[1.52 -.7;.56 .4]
l=eig(A);
L=max(l);
Xo=[1;0];
for k = 1:50
Xk=A*Xo;
Xo=Xk;
if k == 1
plot(Xo,Xk,'mo');
elseif k == 2
plot(Xo,Xk,'mx');
elseif k == 3
plot(Xo,Xk,'m+');
elseif k == 4
plot(Xo,Xk,'m*');
elseif k == 5
plot(Xo,Xk,'ms');
else
plot(Xo,Xk);
end
hold all; % <<<<< this is the extra line
end
这实际上是非常低效的代码 - 但解决这个问题的最佳方法可能是另一个问题的主题。