24小时热门版块排行榜    

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

wcnmaz

新虫 (小有名气)

[交流] MATLAB7.0出错了? 已有2人参与

y(i,6)=-178075801.6*y(i,4)*y(i,5)+490910.1296*y(i,3)*y(i,2)+1128974.05+7481.104004*sin(2.047t);
为什么MATLAB7.0程序运行到上面一行出错了?感觉也没什么错误啊
怎么改,谢谢了

ODE45_main文件:
clc;clear
tspan=[0,1];
y0=[0; 0;0;0;0];
[t,y]=ode45('ODE45_fun',tspan,y0);

[m,n]=size(y);
for i=1:m
    y(i,6)=-178075801.6*y(i,4)*y(i,5)+490910.1296*y(i,3)*y(i,2)+1128974.05+7481.104004*sin(2.047t);

end
data=[t,y];
save ODE45_data.txt data -ascii
subplot(2,3,1),plot(t,y(:,1)),title('y(1)')
Xlabel('t');Ylabel('y');
subplot(2,3,2),plot(t,y(:,2)),title('y(2)')
Xlabel('t');Ylabel('y');
subplot(2,3,3),plot(t,y(:,3)),title('y(3)')
Xlabel('t');Ylabel('y');
subplot(2,3,4),plot(t,y(:,4)),title('y(4)')
Xlabel('t');Ylabel('y');
subplot(2,3,5),plot(t,y(:,5)),title('y(5)')
Xlabel('t');Ylabel('y');
subplot(2,3,6),plot(t,y(:,6)),title('y(6)')
Xlabel('t');Ylabel('y');

grid on

ODE45_fun文件:
function  dy=ODE45_fun(t,y)
dy(1)=-1.918298553*y(3)*y(4)-121.6697369*y(5)*y(2)+0.006472085*y(2)*y(2)+15.25250926*y(5)*y(5)-0.518363603*sin(2.047t)+0.001124759;

dy(2)=0.007229182*y(5)*y(1)-0.013867729*y(3)-0.005151943*sin(2.047t)+33.43424564*y(4)*y(5)-0.092169794*y(3)*y(2)-0.698266828;

dy(3)=72.10986245*y(2)+0.52129529*y(4)*y(1)+0.025471074*y(3)+921.886526*y(4)/y(1)-0.47870471*y(4)+0.025471074*y(1)*t-0.38220722*cos(2.047t)-4.62279911;

dy(4)=-57.37263009*y(5)+0.001053501*y(3)*y(1)+20.28825016/y(1)-0.001053501*y(3)+0.064741605*y(4)+20.28825016*t-0.006201915*sin(2.047t)-3651.904822;
  
dy(5)=0.017284293*y(4)+0.00278644*y(1)*y(2)-0.551218454*y(2)*y(5)*y(5)+0.010839281*y(2)*y(2)*y(5)+0.020353114*cos(2.047t)+0.110594984;
dy=[dy(1);dy(2);dy(3);dy(4);dy(5)];
回复此楼

» 猜你喜欢

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

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

wyjjf

新虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
2楼: Originally posted by amoroso_xmc at 2015-04-05 20:41:14
2.047和t之间漏了乘号*。
或者t不是一个标量?

标量?
3楼2015-04-06 07:06:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

amoroso_xmc

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
2.047和t之间漏了乘号*。
或者t不是一个标量?
2楼2015-04-05 20:41:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wcnmaz

新虫 (小有名气)

引用回帖:
2楼: Originally posted by amoroso_xmc at 2015-04-05 20:41:14
2.047和t之间漏了乘号*。
或者t不是一个标量?

谢谢回答了
2.047*t了,这一行还是出错啊
y(i,6)=-178075801.6*y(i,4)*y(i,5)+490910.1296*y(i,3)*y(i,2)+1128974.05+7481.104004*sin(2.047*t);


还有:[t,y]=ode45('ODE45_fun',tspan,y0); 没有错误吧


Warning: Failure at t=5.501826e-001【【【【y0=换不同的初始值,Failure at t不同】】】】. Unable to meet integration tolerances without reducing the step size below the
smallest value allowed (1.776357e-015) at time t.

the smallest value allowed怎么设置大一些?可以牺牲一些准确度


ODE45_main文件:
clc;clear
tspan=[0,180];
y0=[1e-5;1e-5;1e5;1e-5;1e-5];
[t,y]=ode45('ODE45_fun',tspan,y0);


[m,n]=size(y);
for i=1:m
y(i,6)=-178075801.6*y(i,4)*y(i,5)+490910.1296*y(i,3)*y


(i,2)+1128974.05+7481.104004*sin(2.047*t);

end
data=[t,y];
save ODE45_data.txt data -ascii
subplot(2,3,1),plot(t,y(:,1)),title('y(1)')
Xlabel('t');Ylabel('y');
subplot(2,3,2),plot(t,y(:,2)),title('y(2)')
Xlabel('t');Ylabel('y');
subplot(2,3,3),plot(t,y(:,3)),title('y(3)')
Xlabel('t');Ylabel('y');
subplot(2,3,4),plot(t,y(:,4)),title('y(4)')
Xlabel('t');Ylabel('y');
subplot(2,3,5),plot(t,y(:,5)),title('y(5)')
Xlabel('t');Ylabel('y');
subplot(2,3,6),plot(t,y(:,6)),title('y(6)')
Xlabel('t');Ylabel('y');
% plot(t,y(:,1),'bo',t,y(:,2),'rx',t,y(:,3),'gv',t,y(:,4),'r-');
grid on




ODE45_fun文件:
function dy=ODE45_fun(t,y)
dy(1)=-1.918298553*y(3)*y(4)-121.6697369*y(5)*y(2)+0.006472085*y(2)*y(2)+15.25250926*y(5)*y(5)-0.518363603*sin(2.047*t)+0.001124759;


dy(2)=0.007229182*y(5)*y(1)-0.013867729*y(3)-0.005151943*sin(2.047*t)+33.43424564*y(4)*y(5)-0.092169794*y(3)*y(2)-0.698266828;


dy(3)=72.10986245*y(2)+0.52129529*y(4)*y(1)+0.025471074*y(3)+921.886526*y(4)/y(1)-0.47870471*y(4)+0.025471074*y(1)*t-0.38220722*cos(2.047*t)-4.62279911;


dy(4)=-57.37263009*y(5)+0.001053501*y(3)*y(1)+20.28825016/y(1)-0.001053501*y(3)+0.064741605*y(4)+20.28825016*t-0.006201915*sin(2.047*t)-3651.904822;

dy(5)=0.017284293*y(4)+0.00278644*y(1)*y(2)-0.551218454*y(2)*y(5)*y(5)+0.010839281*y(2)*y(2)*y(5)+0.020353114*cos(2.047*t)+0.110594984;


dy=[dy(1);dy(2);dy(3);dy(4);dy(5)];
4楼2015-04-06 14:43:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wcnmaz

新虫 (小有名气)

y(i,6)=-178075801.6*y(i,4)*y(i,5)+490910.1296*y(i,3)*y(i,2)+1128974.05+7481.104004*sin(2.047*t);
这一行应该没有错误了吧???
5楼2015-04-06 19:16:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 静等基金结果 +5 gjjjzhong 2026-08-10 16/800 2026-08-10 17:19 by Tide man
[基金申请] filecode +6 documentary 2026-08-10 6/300 2026-08-10 17:09 by wdc28
[基金申请] 关于Filecode分析方法 +3 majunge000 2026-08-10 3/150 2026-08-10 15:46 by lch2012
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +4 布布和一二 2026-08-10 4/200 2026-08-10 14:50 by 医学老男孩
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +11 archvillain 2026-08-04 13/650 2026-08-10 14:41 by seekfind
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
信息提示
请填处理意见