pkpqpone 发表于 2008-10-28 13:41

关于循环 i=1:n的问题。

plot(fx(1,:),fy(1,:),fx(2,:),fy(2,:),fx(3,:),fy(3,:),fx(4,:),fy(4,:)...
       ,fx(5,:),fy(5,:),fx(6,:),fy(6,:),fx(7,:),fy(7,:),fx(8,:),fy(8,:)...
       ,fx(9,:),fy(9,:),fx(10,:),fy(10,:));

i=1:10
plot(fx(i,:),fy(i,:));
为什么两个得到的图像不是一样的呢

ChaChing 发表于 2008-10-28 14:19

回复 楼主 pkpqpone 的帖子

两指令意义完全不同
前者是将10条线画在一个图框内
後者是将10条线分别画在10个图框内
试试 i=1:10, figure; plot(fx(i,:),fy(i,:)); end
你就了解

pkpqpone 发表于 2008-10-29 09:45

如何运用plot的循环语句作图问题?

plot(fx(1,:),fy(1,:),fx(2,:),fy(2,:),fx(3,:),fy(3,:),fx(4,:),fy(4,:)...
       ,fx(5,:),fy(5,:),fx(6,:),fy(6,:),fx(7,:),fy(7,:),fx(8,:),fy(8,:)...
       ,fx(9,:),fy(9,:),fx(10,:),fy(10,:));
用下面这个循环
i=1:10;
plot(fx(i,:),fy(i,:));
得到的是不同的图形,请教。 上面那个写法太长了。。。

jww100 发表于 2008-10-29 10:27

你是想都显示在一张图上吗?
加一个hold on试试

pkpqpone 发表于 2008-10-29 15:41

回复 沙发 ChaChing 的帖子

嗯 ,确实是不同。
我所困惑的是,在取fx(1,:)....fx(10,:)即横坐标时,fx(1,:)、..、x(10,:)是不同的,作图时fx(i,:)行向量值与fy(i,:)的行向量值对应作出一条曲线,这样就有10条曲线
前者是较长的写法是将10条线画在一个图框内,这也是我本意,请问可以用循环写不?谢谢指导。

sogooda 发表于 2008-10-29 16:21

试试plot(fx',fy'),我做了一个小例子,和你的那个语句的结果是一样的。
fx=reshape(1:200,10,20);
fy=sin(fx).*10+5;
plot(fx(1,:),fy(1,:),fx(2,:),fy(2,:),fx(3,:),fy(3,:),fx(4,:),fy(4,:)...
       ,fx(5,:),fy(5,:),fx(6,:),fy(6,:),fx(7,:),fy(7,:),fx(8,:),fy(8,:)...
       ,fx(9,:),fy(9,:),fx(10,:),fy(10,:));
figure
plot(fx',fy')

pkpqpone 发表于 2008-10-29 17:29

回复 6楼 sogooda 的帖子

确实可以,学习了, 可以问下怎么理解呢,?

sogooda 发表于 2008-10-30 10:50

回复 7楼 pkpqpone 的帖子

和你的句子应该是一个意思,因为是一个矩阵所以可以简写成plot(fx',fy')的形式。
页: [1]
查看完整版本: 关于循环 i=1:n的问题。