美好 发表于 2007-10-24 10:30

请各位学长看看我这个程序错在哪里了?

请各位学长看看我这个程序错在哪里了?画达芬方程分岔图的程序:

M文件:
function xdot=duffing2(t,x,omega)
global omega;
xdot=;

计算程序:
clear;
global omega;
omega=1:0.01:2;
for h=1:length(omega)
T=2*pi/omega(h);
=ode45('duffing2',,, omega(h));
plot(omega(h),x(10000:100:end,2),'k.');hold on
end

谢谢!

咕噜噜 发表于 2007-10-24 11:15

function xdot=duffing2(t,x,omega)?
改成function xdot=duffing2(t,x)
=ode45('duffing2',,, omega(h));也少了点东西,搜索论坛,相关程序很多

无水1324 发表于 2007-10-24 11:29

回复 #2 咕噜噜 的帖子

应该改为:
function xdot=duffing2(t,x,flag,omega)

美好 发表于 2007-10-24 19:35

回复 #3 无水1324 的帖子

还是不行呀学长,还是有错误,可是哪里出了问题呢?

无水1324 发表于 2007-10-24 21:20

回复 #4 美好 的帖子

把错误的信息发出来吧
还有把两个global omega去掉

美好 发表于 2007-10-25 16:39

回复 #5 无水1324 的帖子

这是提示的错误信息!
??? Error using ==> funfun\private\odearguments
Correct syntax is ode45(DUFFING2,tspan,y0,options).

Error in ==> ode45 at 173
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, ...
请学长帮忙看看!谢谢!

无水1324 发表于 2007-10-25 22:21

你按照上面的修改了吗?这好像不是第一次给你修改了吧

octopussheng 发表于 2007-10-25 22:38

M文件:
function xdot=duffing2(t,x,omega)
xdot=;

计算程序:
clear;
omega=1:0.01:2;
for h=1:length(omega)
T=2*pi/omega(h);
=ode45('duffing2',,, omega(h));
plot(omega(h),x(1000:100:end,2),'k.');hold on
end

试试吧


[ 本帖最后由 octopussheng 于 2007-10-25 22:41 编辑 ]

yuxinting 发表于 2007-10-26 10:01

clear;
omega=1:0.01:2;
for h=1:length(omega)
T=2*pi/omega(h);
=ode45('duffing2',,,[], omega(h));%加个'[]',就可以运行了.
plot(omega(h),x(1000:100:end,2),'k.');hold on
end

美好 发表于 2007-10-26 19:59

非常感谢各位学长的热心帮助!只是按照各位的改法依旧运行不通,着实很郁闷,不知哪个小环节出了问题。恳请各位有时间的时候再帮我看看!还是非常感谢大家伸出援助之手!谢谢各位学长!

yuxinting 发表于 2007-10-28 12:46

回复 #10 美好 的帖子

按照8楼学长给的程序,只需改动[],就可以运行了。
页: [1]
查看完整版本: 请各位学长看看我这个程序错在哪里了?