packie 发表于 2006-9-14 21:46

紧急求助各位大侠:常微分方程做图

有一常微分方程做图问题,求各位帮助,谢谢

[ 本帖最后由 ericlin 于 2006-9-19 10:53 编辑 ]

AaronSpark 发表于 2006-9-19 04:15

这个用ode45求解应该没什么问题,b可以用格式中的p1来传递

packie 发表于 2006-9-19 21:11

谢谢你啊,能不能具体点。我编了个程序,运行有问题,你能不能帮我修改一下,谢谢
=ode45('ode',,);
y1=(Y(:,1));
y=max(y1)

function dy=ode(t,y)
t0=20;
zeta=0.5;
omega=1;
if t<=t0
   dy=;
else
    dy=;
end

[ 本帖最后由 packie 于 2006-9-20 09:19 编辑 ]

jimin 发表于 2006-9-19 21:24

原帖由 packie 于 2006-9-19 21:11 发表
谢谢兄弟,能不能具体点。我编了个程序,运行有问题,你能不能帮我修改一下,谢谢
=ode45('ode',,);
y1=(Y(:,1));
y=max(y1)

function dy=ode(t,y)
t0=20;
zeta=0.5;
omega=1;
if t<=t0
   dy=;
e ...
呵呵,谢谢兄弟,人家是mm

yang274100 发表于 2006-9-19 22:09

好东西,谢谢!

AaronSpark 发表于 2006-9-20 00:26

原帖由 packie 于 2006-9-19 21:11 发表
谢谢兄弟,能不能具体点。我编了个程序,运行有问题,你能不能帮我修改一下,谢谢
=ode45('ode',,);
y1=(Y(:,1));
y=max(y1)

function dy=ode(t,y)
t0=20;
zeta=0.5;
omega=1;
if t<=t0
   dy=;
e ...

你程序的方程和上面给出的方程根本是两码事嘛

packie 发表于 2006-9-20 09:20

=ode45('ode',,);
y1=(Y(:,1));
y=max(y1)

function dy=ode(t,y)
t0=20;
a=0.5;
b=1;
if t<=t0
   dy=;
else
    dy=;
end

packie 发表于 2006-9-20 09:21

您看能不能修正?谢谢啊

jimin 发表于 2006-9-21 19:52

>> b=0:0.1:10;
tmax=[];
y1=[];
y2=[];
for i=1:length(b)
    =ode45('ode',,,[],b(i));
    tmax=;
    y1=;
    y2=;
   
end
>> plot(b,tmax,b,y1,b,y2)

function dy=ode(t,y,flag,b)
t0=20;
a=0.5;
if t<=t0
   dy=;
else
    dy=;
end
好象有的参数和你的方程不一样,你自己改吧

packie 发表于 2006-10-8 16:00

非常感谢啊
页: [1]
查看完整版本: 紧急求助各位大侠:常微分方程做图