紧急求助各位大侠:常微分方程做图
有一常微分方程做图问题,求各位帮助,谢谢[ 本帖最后由 ericlin 于 2006-9-19 10:53 编辑 ] 这个用ode45求解应该没什么问题,b可以用格式中的p1来传递 谢谢你啊,能不能具体点。我编了个程序,运行有问题,你能不能帮我修改一下,谢谢
=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 编辑 ] 原帖由 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 好东西,谢谢! 原帖由 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 ...
你程序的方程和上面给出的方程根本是两码事嘛 =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 您看能不能修正?谢谢啊 >> 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
好象有的参数和你的方程不一样,你自己改吧 非常感谢啊
页:
[1]