tdbcbesty 发表于 2007-4-9 19:50

求助:关于hold on命令的图像拼接问题

毕设中遇到的一个问题,急需解决!请多帮忙!!!谢谢!!!!
以下是输入一个微分方程:
%ivpodefun.m
function dxdt=ivpodefun(t,x)
dxdt   =zeros(2,1);
dxdt(1)=x(2);
dxdt(2)=-x(1)+x(1)^3-2*x(2);
作图程序如下:
%ode45_example.m
=ode45(@ivpodefun,,);
axis([-50 50 -50 50]);
plot(x(:,1),x(:,2),'-')
我想改变初始点的值作图,即
=ode45(@ivpodefun,,[-0.0001;-0.0001]);
axis([-50 50 -50 50]);
plot(x(:,1),x(:,2),'-')

=ode45(@ivpodefun,,[-0.0001;0.0001]);
axis([-50 50 -50 50]);
plot(x(:,1),x(:,2),'-')

=ode45(@ivpodefun,,);
axis([-50 50 -50 50]);
plot(x(:,1),x(:,2),'-')
然后把这四幅图像拼接起来。
求教!拜谢!!!

eight 发表于 2007-4-9 19:56

原帖由 tdbcbesty 于 2007-4-9 19:50 发表
毕设中遇到的一个问题,急需解决!请多帮忙!!!谢谢!!!!
以下是输入一个微分方程:
%ivpodefun.m
function dxdt=ivpodefun(t,x)
dxdt   =zeros(2,1);
dxdt(1)=x(2);
dxdt(2)=-x(1)+x(1)^3-2*x ...


help subplot

或者在 plot 前使用 hold on,然后分别用不同的颜色作图

tdbcbesty 发表于 2007-4-9 20:01

回复 #2 eight 的帖子

我试试,多谢!


试过了,不行。还有其它方法吗?

[ 本帖最后由 tdbcbesty 于 2007-4-9 20:05 编辑 ]

eight 发表于 2007-4-9 20:21

原帖由 tdbcbesty 于 2007-4-9 20:01 发表
我试试,多谢!


试过了,不行。还有其它方法吗?


试试以下代码:

>> x=1:0.05:4*pi;
>> y=sin(x);
>> z=cos(x);
>> hold on
>> plot(x,y,'r-')
>> plot(x,z,'b.')

tdbcbesty 发表于 2007-4-9 20:58

回复 #4 eight 的帖子

这个可以。那我的应该怎样改呢?
能具体说下吗?不胜感谢!

eight 发表于 2007-4-9 21:08

原帖由 tdbcbesty 于 2007-4-9 20:58 发表
这个可以。那我的应该怎样改呢?
能具体说下吗?不胜感谢!


晕,原理不是一样吗?你在第一次 plot 之前加上hold on语句,然后 plot 的时候修改颜色就可以了,颜色的选择可以 help plot 一下,或者使用以下几种:r 红色 g 绿色 b 蓝色 k 黑色 y 黄色 等等

tdbcbesty 发表于 2007-4-9 21:48

回复 #6 eight 的帖子

图形终于拼出来了,完全解决了,多谢!!!
万分感激!!!:@)

[ 本帖最后由 xinyuxf 于 2007-4-10 09:29 编辑 ]
页: [1]
查看完整版本: 求助:关于hold on命令的图像拼接问题