24小时热门版块排行榜    

查看: 675  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿西安交通大学材料工程专业 282分求调剂 +5 枫桥ZL 2026-03-18 7/350 2026-03-19 14:52 by 功夫疯狂
[考研] 085600材料与化工调剂 324分 +10 llllkkkhh 2026-03-18 12/600 2026-03-19 14:33 by llllkkkhh
[考研] 一志愿 西北大学 ,070300化学学硕,总分287,双非一本,求调剂。 +3 晨昏线与星海 2026-03-19 3/150 2026-03-19 13:36 by houyaoxu
[考研] 085600材料与化工 +5 安全上岸! 2026-03-16 5/250 2026-03-18 15:33 by cmz0325
[考研] 0854可跨调剂,一作一项核心论文五项专利,省、国级证书40+数一英一287 +8 小李0854 2026-03-16 8/400 2026-03-18 14:35 by 搏击518
[考研] 312求调剂 +8 陌宸希 2026-03-16 9/450 2026-03-18 12:39 by Linda Hu
[考研] 材料,纺织,生物(0856、0710),化学招生啦 +3 Eember. 2026-03-17 9/450 2026-03-18 10:28 by Eember.
[考研] 268求调剂 +6 简单点0 2026-03-17 6/300 2026-03-18 09:04 by 无际的草原
[考研] 301求调剂 +4 A_JiXing 2026-03-16 4/200 2026-03-17 17:32 by ruiyingmiao
[考研] 332求调剂 +6 Zz版 2026-03-13 6/300 2026-03-17 17:03 by ruiyingmiao
[考研] 26考研求调剂 +6 丶宏Sir 2026-03-13 6/300 2026-03-17 16:13 by 醉在风里
[考研] 材料工程专硕274一志愿211求调剂 +6 薛云鹏 2026-03-15 6/300 2026-03-17 11:05 by 学员h26Tkc
[考研] 274求调剂 +5 时间点 2026-03-13 5/250 2026-03-17 07:34 by 热情沙漠
[考研] 药学383 求调剂 +3 药学chy 2026-03-15 4/200 2026-03-16 20:51 by 元子^0^
[考研] 0854控制工程 359求调剂 可跨专业 +3 626776879 2026-03-14 9/450 2026-03-16 17:42 by 626776879
[考研] 求老师收留调剂 +4 jiang姜66 2026-03-14 5/250 2026-03-15 20:11 by Winj1e
[考研] 26考研一志愿中国石油大学(华东)305分求调剂 +3 嘉年新程 2026-03-15 3/150 2026-03-15 13:58 by 哈哈哈哈嘿嘿嘿
[考研] 0856专硕279求调剂 +5 加油加油!? 2026-03-15 5/250 2026-03-15 11:58 by 2020015
[考研] 085601材料工程315分求调剂 +3 yang_0104 2026-03-15 3/150 2026-03-15 10:58 by peike
[考研] 330求调剂 +3 ?酱给调剂跪了 2026-03-13 3/150 2026-03-14 10:13 by JourneyLucky
信息提示
请填处理意见