24小时热门版块排行榜    

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

monitor2885

至尊木虫 (职业作家)

队长

[交流] 【求助】简单的ode45函数参数

function dydt=ivpodefun(t,y,u)
a=[1;2;3;4;5];b=[6;7;8;9;10];
for i=1:1:5
u1((i-1)*2<=t & t<=2*i)=a(i);
u2((i-1)*2<=t & t<=2*i)=b(i);
end
plot(t,u1);hold on
plot(t,u2);hold off
dydt=zeros(2,1);
dydt(1)=u2*y(2);
dydt(2)=u1*(1-y(1)^2)*y(2)-y(1);

命令窗口输入
t=0:10;
[t,y]=ode45(@ivpodefun,t,[0 2]);
plot(t,y)
似乎结果没错,u1和u2在计算过程中的确取到了不同值,但是为什么它俩打印不出来呢?只有一个点。我需要这两个参数显示出来,在workspace也没有显示。谢谢
回复此楼
Retirement
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

monitor2885

至尊木虫 (职业作家)

队长

u1和u2的括号里面是个判断语句,没错呀,用if语句改写太麻烦了吧
Retirement
8楼2009-10-12 21:20:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 15 个回答

change0618

铁杆木虫 (著名写手)

方丈大师

。。。。。。。。。。。。。。

[ Last edited by change0618 on 2009-10-12 at 18:47 ]
2楼2009-10-12 18:40:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

刚弄明白你啥意思
3楼2009-10-12 18:52:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

★ ★ ★ ★ ★ ★
monitor2885(金币+6,VIP+0):分成2个图就死机了,怎么回事 10-12 20:16
function test
t=0:10;
[t,y]=ode45(@ivpodefun,t,[0 2]);
figure(2)
plot(t,y,'bo-')
function dydt=ivpodefun(t,y,u)
a=[1;2;3;4;5];b=[6;7;8;9;10];
for i=1:1:5
u1((i-1)*2<=t & t<=2*i)=a(i);
u2((i-1)*2<=t & t<=2*i)=b(i);
end
figure(1)
plot(t,u1,'ro');hold on
plot(t,u2,'b^');
xlim([0 10])
ylim([0 10])
dydt=zeros(2,1);
dydt(1)=u2*y(2);
dydt(2)=u1*(1-y(1)^2)*y(2)-y(1);

[ Last edited by change0618 on 2009-10-12 at 19:18 ]
4楼2009-10-12 19:15:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见