24小时热门版块排行榜    

查看: 674  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

小鱼118

银虫 (小有名气)

[求助] MATLAB程序调整

function gaosi()
    i=1;
    for N=1:0.1:6
        [T,Y]=ode45(@last00,[0.001,1000],[0.0000001,0.0001])
        JI(i)=max(Y(:,1))
        JIm(i)=max(Y(:,2));
        NN(i)=N;
        i=i+1;
    end
plot(NN,JI)
xlabel('N');
ylabel('Φ_{int}');
hold on;
end
function dy=last00(t,y)
dy=zeros(2,1);
dy(1)=dy(2);
dy(2)=y(2)*(1/60)*(1+4*(exp(-y(1)*0.05^(1/2))+exp(-y(1)*0.15^(1/2))+exp(-y(1)*0.25^(1/2))+...
    exp(-y(1)*0.35^(1/2))+exp(-y(1)*0.45^(1/2))+exp(-y(1)*0.55^(1/2))+exp(-y(1)*0.65^(1/2))+...
    exp(-y(1)*0.75^(1/2))+exp(-y(1)*0.85^(1/2))+exp(-y(1)*0.95^(1/2)))+2*(exp(-y(1)*0.1^(1/2))+...
    exp(-y(1)*0.2^(1/2))+exp(-y(1)*0.3^(1/2))+exp(-y(1)*0.4^(1/2))+exp(-y(1)*0.5^(1/2))+...
    exp(-y(1)*0.6^(1/2))+exp(-y(1)*0.7^(1/2))+exp(-y(1)*0.8^(1/2))+exp(-y(1)*0.9^(1/2)))+exp(-y(1)))-...
0.807*log(1/(N*N))/(0.7846+log(1/(N*N)))*y(2)*(1-(1-exp(2.6*y(1)))/(2.6*y(1)))-0.4117*0.1238/(0.7846+log(1/(N*N)))*y(2)-0.5891*0.1238/(0.7846+log(1/(N*N)))*y(2)*((1-exp(-30*y(1)))/(30*y(1)))-...
(1-0.1238/(0.7846+log(1/(N*N))))*y(2)-5.8e-16/(8*0.15)*7.444e15*0.1238/(0.7846+log(1/(N*N)))*30*y(2)*y(2)
end

运行结果为
??? Undefined function or variable 'N'.

Error in ==> gaosi>last00 at 18
dy(2)=y(2)*(1/60)*(1+4*(exp(-y(1)*0.05^(1/2))+exp(-y(1)*0.15^(1/2))+exp(-y(1)*0.25^(1/2))+...

Error in ==> funfun\private\odearguments at 110
f0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.

Error in ==> ode45 at 173
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...

Error in ==> gaosi at 4
        [T,Y]=ode45(@last00,[0.001,1000],[0.0000001,0.0001])

求高手指点
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

好好爱自己
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luomia

木虫 (著名写手)

★ ★
dbb627: 金币+2, 谢谢应助! 2012-11-12 08:57:05
引用回帖:
3楼: Originally posted by 小鱼118 at 2012-11-10 09:28:57
麻烦把改好的程序发一下可以吗?我帮同学求助的,他不懂“然后在ode45(@last00,,)
里面把参数值传递给表达式”的意思...

ode45(@last00,[0.001,1000],[0.0000001,0.0001])
里面的函数体是@last00,这个函数带有参数,可以看一下ode45关于带参数函数的使用方法
ode45(@last00,[0.001,1000],[0.0000001,0.0001],N)
N就是对应的参数
一次次萍水相逢
4楼2012-11-10 10:56:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

luomia

木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
dbb627: 金币+1, 欢迎交流 2012-11-12 08:56:50
你的函数表达式dy=last00(t,y)里面需要把参数加进去,dy=last00(t,y,N),然后在ode45(@last00,[0.001,1000],[0.0000001,0.0001])
里面把参数值传递给表达式,这个你可以看看ODE45的help文件。现在的这个函数没法传递函数的参数到ode45.
一次次萍水相逢
2楼2012-11-10 09:12:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小鱼118

银虫 (小有名气)

引用回帖:
2楼: Originally posted by luomia at 2012-11-10 09:12:24
你的函数表达式dy=last00(t,y)里面需要把参数加进去,dy=last00(t,y,N),然后在ode45(@last00,,)
里面把参数值传递给表达式,这个你可以看看ODE45的help文件。现在的这个函数没法传递函数的参数到ode45....

麻烦把改好的程序发一下可以吗?我帮同学求助的,他不懂“然后在ode45(@last00,[0.001,1000],[0.0000001,0.0001])
里面把参数值传递给表达式”的意思
好好爱自己
3楼2012-11-10 09:28:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luomia

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★
小鱼118: 金币+5, ★★★★★最佳答案, 非常感谢,我同学成功了! 2012-11-10 13:56:25
dbb627: 金币+1, 感谢应助 2012-11-12 08:57:21
引用回帖:
4楼: Originally posted by luomia at 2012-11-10 10:56:31
ode45(@last00,,)
里面的函数体是@last00,这个函数带有参数,可以看一下ode45关于带参数函数的使用方法
ode45(@last00,,,N)
N就是对应的参数...

程序如下,,[0.001,1000],[0.0000001,0.0001]这两个参数可能不是很合理,可以自己调整一下。
function gaosi()
    NN=1:0.1:6;
    JI=zeros(size(NN));
    JIm=zeros(size(NN));

    for i=1:length(NN)
        N=NN(i);
        [T,Y]=ode45(@last00,[0.01,100],[0.001,0.01],[],N);
        JI(i)=max(Y(:,1));
        JIm(i)=max(Y(:,2));
        
    end
plot(NN,JI)
xlabel('NN');
ylabel('Φ_{int}');
hold on;

function dy=last00(t,y,N)

dy=[y(2);y(2)*(1/60)*(1+4*(exp(-y(1)*0.05^(1/2))+exp(-y(1)*0.15^(1/2))+exp(-y(1)*0.25^(1/2))+...
    exp(-y(1)*0.35^(1/2))+exp(-y(1)*0.45^(1/2))+exp(-y(1)*0.55^(1/2))+exp(-y(1)*0.65^(1/2))+...
    exp(-y(1)*0.75^(1/2))+exp(-y(1)*0.85^(1/2))+exp(-y(1)*0.95^(1/2)))+2*(exp(-y(1)*0.1^(1/2))+...
    exp(-y(1)*0.2^(1/2))+exp(-y(1)*0.3^(1/2))+exp(-y(1)*0.4^(1/2))+exp(-y(1)*0.5^(1/2))+...
    exp(-y(1)*0.6^(1/2))+exp(-y(1)*0.7^(1/2))+exp(-y(1)*0.8^(1/2))+exp(-y(1)*0.9^(1/2)))+exp(-y(1)))-...
0.807*log(1/(N*N))/(0.7846+log(1/(N*N)))*y(2)*(1-(1-exp(2.6*y(1)))/(2.6*y(1)))-0.4117*0.1238/(0.7846+log(1/(N*N)))*y(2)-0.5891*0.1238/(0.7846+log(1/(N*N)))*y(2)*((1-exp(-30*y(1)))/(30*y(1)))-...
(1-0.1238/(0.7846+log(1/(N*N))))*y(2)-5.8e-16/(8*0.15)*7.444e15*0.1238/(0.7846+log(1/(N*N)))*30*y(2)*y(2)];
end

end
一次次萍水相逢
5楼2012-11-10 12:41:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 307求调剂 +6 冷笙123 2026-03-17 6/300 2026-03-19 15:14 by peike
[考研] 一志愿天津大学化学工艺专业(081702)315分求调剂 +11 yangfz 2026-03-17 11/550 2026-03-19 15:06 by houyaoxu
[考研] 一志愿西安交通大学材料工程专业 282分求调剂 +5 枫桥ZL 2026-03-18 7/350 2026-03-19 14:52 by 功夫疯狂
[考研] 324分 085600材料化工求调剂 +3 llllkkkhh 2026-03-18 3/150 2026-03-19 14:22 by houyaoxu
[考研] 一志愿南昌大学,327分,材料与化工085600 +3 Ncdx123456 2026-03-19 3/150 2026-03-19 13:18 by houyaoxu
[考研] 085410人工智能专硕317求调剂(0854都可以) +3 xbxudjdn 2026-03-18 3/150 2026-03-18 22:14 by zhq0425
[考研] 0854可跨调剂,一作一项核心论文五项专利,省、国级证书40+数一英一287 +8 小李0854 2026-03-16 8/400 2026-03-18 14:35 by 搏击518
[考博] 环境领域全国重点实验室招收博士1-2名 +3 QGZDSYS 2026-03-13 5/250 2026-03-18 11:13 by QGZDSYS
[考研] 0703化学调剂 +3 妮妮ninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
[考研] 278求调剂 +5 烟火先于春 2026-03-17 5/250 2026-03-18 08:43 by 星空星月
[考研] 296求调剂 +5 大口吃饭 身体健 2026-03-13 5/250 2026-03-17 21:05 by 不惑可乐
[考研] 308求调剂 +4 是Lupa啊 2026-03-16 4/200 2026-03-17 17:12 by ruiyingmiao
[考研] 材料工程专硕274一志愿211求调剂 +6 薛云鹏 2026-03-15 6/300 2026-03-17 11:05 by 学员h26Tkc
[考研] 0856求调剂 +3 刘梦微 2026-03-15 3/150 2026-03-16 10:00 by houyaoxu
[考研] 327求调剂 +6 拾光任染 2026-03-15 11/550 2026-03-15 22:47 by 拾光任染
[考研] 288求调剂 +4 奇点0314 2026-03-14 4/200 2026-03-14 23:04 by JourneyLucky
[考研] 289求调剂 +4 这么名字咋样 2026-03-14 6/300 2026-03-14 18:58 by userper
[考研] 330求调剂 +3 ?酱给调剂跪了 2026-03-13 3/150 2026-03-14 10:13 by JourneyLucky
[考研] 311求调剂 +3 冬十三 2026-03-13 3/150 2026-03-13 20:41 by JourneyLucky
[考研] 290求调剂 +3 ADT 2026-03-13 3/150 2026-03-13 10:19 by peike
信息提示
请填处理意见