24小时热门版块排行榜    

查看: 1371  |  回复: 10
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

monitor2885

至尊木虫 (知名作家)

队长

[交流] 【求助】简单的ode45程序修改

function abc
clear all;clc
global y u
u=[1;2;3;4;5];
t=0:4;
[t,y]=ode45(@fun,t,[0 2]);
plot(y)

function dydt=fun(t,y)
global u
v=u*2;
dydt=zeros(2,1);
dydt(1)=y(2);
dydt(2)=v*y(1)-2*v*y(2);

哪里错了呢?怎么改?谢谢
回复此楼
Retirement
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师


adu886886(金币+1):谢谢提供意见 2010-03-19 08:29
monitor2885(金币+5):[t,y]=ode45(@fun,[tspan(i):1:tspan(i+1)],y0,[],u(i),v(i)); 还是208个点呀 2010-03-19 13:09
tspan=0:1:4;
[t,y]=ode45(@fun,tspan,y0);
这两句会令t=[0 1 2 3 4],并将其对应的值赋给y,所以y只有5个;

而[t,y]=ode45(@fun,[tspan(i),tspan(i+1)],y0,[],u(i),v(i));
此句中的[tspan(i),tspan(i+1)],只给定了一个区间,
t的元素个数一般取其计算过程中的个数
如果你只想取五个值,那就用tspan(i):tspan(i+1),
你画图的话会看到五个点,但实际上是8个点,中间三个有重复
如果想彻底只有5个,你可以自己抠掉。
当然还有其他方法抽取那五个点的y值。
程序肯定是计算了很多很多个点,但是具体你要取几个,那在于你的意图了。
9楼2010-03-18 21:46:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

change0618

铁杆木虫 (著名写手)

方丈大师


monitor2885(金币+5):帮忙看下面一个 2010-03-17 21:33
kuhailangyu(金币+1):欢迎积极参与 2010-03-18 16:24
function abc
clear all
clc
u=[1;2;3;4;5];
tspan=0:1:4;
tt=[];yy=[];
y0=[0 2];
for i=1:length(tspan)-1
    [t,y]=ode45(@fun,[tspan(i),tspan(i+1)],y0,[],u(i));
    tt=[tt;t];yy=[yy;y];
    y0=y(end,: );
end
figure(1)
plot(tt,yy)

function dydt=fun(t,y,u)
v=u*2;
dydt=[y(2);
      v*y(1)-2*v*y(2)];
2楼2010-03-17 19:45:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

monitor2885

至尊木虫 (知名作家)

队长

引用回帖:
Originally posted by change0618 at 2010-03-17 19:45:45:
function abc
clear all
clc
u=[1;2;3;4;5];
tspan=0:1:4;
tt=[];yy=[];
y0=[0 2];
for i=1:length(tspan)-1
    [t,y]=ode45(@fun,[tspan(i),tspan(i+1)],y0,[],u(i));
    tt=[tt;t];yy=[yy;y];
     ...

比如,现在2个参数,即u和v,下面哪里不对呢?
clear all;clc
global yy
u=[1;5;15;20;25];
v=[6;12;18;24;30];
tspan=0:1:4;
tt=[];yy=[];
y0=[0 2];
for i=1:length(tspan)-1
    [t,y]=ode45(@fun,[tspan(i),tspan(i+1)],y0,[],(u(i),v(i)));
    tt=[tt;t];
    yy=[yy;y];
    y0=y(end,;
end
figure;plot(tt,yy)

function dydt=fun(t,y,u,v)
dydt=zeros(2,1);
dydt(1)=u+y(2);
dydt(2)=v*y(1)-2*v*y(2);

[ Last edited by monitor2885 on 2010-3-17 at 21:34 ]
Retirement
3楼2010-03-17 21:33:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

★ ★
monitor2885(金币+5):继续发金币,谢谢哥们帮忙解决问题 2010-03-18 14:29
kuhailangyu(金币+2):欢迎积极参与 2010-03-18 16:24
[t,y]=ode45(@fun,[tspan(i),tspan(i+1)],y0,[],      (u(i),v(i))      );
改成
[t,y]=ode45(@fun,[tspan(i),tspan(i+1)],y0,[],      u(i),v(i)        );


global yy  可以去掉
4楼2010-03-17 23:04:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[博后之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +6 ASdOkHsho7FD 2026-08-28 7/350 2026-08-29 17:31 by 4FFAWE8HcgUD
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 ASdOkHsho7FD 2026-08-28 8/400 2026-08-29 17:22 by 4FFAWE8HcgUD
[基金申请] 面上意见出来了 +6 黄鸟于飞Chao 2026-08-29 12/600 2026-08-29 17:20 by 黄鸟于飞Chao
[基金申请] 为什么到现在没收到通知? +4 tannykie 2026-08-29 4/200 2026-08-29 17:14 by lmz0216
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 ASdOkHsho7FD 2026-08-28 10/500 2026-08-29 16:49 by zICmwzsBXjbN
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +5 ASdOkHsho7FD 2026-08-28 9/450 2026-08-29 14:03 by jCd0dEvKHShX
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 ASdOkHsho7FD 2026-08-28 5/250 2026-08-29 11:49 by jCd0dEvKHShX
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +14 晴天加油 2026-08-26 15/750 2026-08-29 11:06 by biily
[基金申请] 投票:  有多少人是今天查系统知道结果的? +16 爱看书的可乐 2026-08-26 18/900 2026-08-29 10:18 by winsaint
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 9/450 2026-08-29 09:59 by jklily
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[文学芳草园] 梦想 +3 myrtle 2026-08-26 3/150 2026-08-27 10:01 by angelyueyi
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +7 process2012 2026-08-23 10/500 2026-08-26 19:23 by hmhminy
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
信息提示
请填处理意见