24小时热门版块排行榜    

查看: 714  |  回复: 6

wyjjf

新虫 (正式写手)

[交流] 空向量是因为我的自己的式子巧合出现的吗? 已有1人参与

程序老出错,据说出现空向量

怎么避免出现空向量?、
谢谢
【m.file】ODE45_fun:

function dx=ODE45_fun(t,x)
a1=1;a2=1;e1=9;e2=7;f1=56;f2=98;g1=76;g2=665;
a=a1+a2;
e=e1+e2;
f=f1+f2;
g=g1+g2;
dx(1)=x(3)+x(2)-x(4)*x(2)+2*x(5)*x(2)+x(2)*x(2)+x(5)+e+f+g;
dx(2)=x(1)+x(3)-x(4)*x(2)+x(2)*x(2)+x(5)*x(5)+x(5)*x(2)+e*f+g;
dx(3)=x(2)+x(1)-x(5)*x(1)+x(4)*x(3)-x(3)-x(4)-e*g-f;
x(6)=x(4)*x(5)+x(2)*x(3)+e*f+e*g;        % 就是x(6)  而非dx(6)
dx(4)=x(5)*a-x(3)*x(1)-x(3)-e*f*g*x(6)
dx(5)=x(4)*a-x(2)*x(1)+e*f*x(1)+x(2)*x(2)*x(5)+x(2)*x(5)*x(5)+e*f+f*g
dx=[dx(1);dx(2);dx(3);dx(4);dx(5);dx(6)];
【m.file】DE45_main:

tspan=[0,10];
x0=[0;0.1;2;0;0.1;2];
[t,x]=ode45('ODE45_fun',tspan,x0);
data=[t,x];
save ODE45_data.txt data -ascii
subplot(2,3,1),plot(t,x(1))
subplot(2,3,2),plot(t,x(2))
subplot(2,3,3),plot(t,x(3))
subplot(2,3,4),plot(t,x(4))
subplot(2,3,5),plot(t,x(5))
subplot(2,3,6),plot(t,x(6))

>> ODE45_main

dx =

  1.0e+010 *

    0.0000    0.0000   -0.0000   -2.6146


dx =

  1.0e+010 *

    0.0000    0.0000   -0.0000   -2.6146    0.0000

??? Attempted to access dx(6); index out of bounds because numel(dx)=5.

Error in ==> ODE45_fun at 14
dx=[dx(1);dx(2);dx(3);dx(4);dx(5);dx(6)];
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, ...

Error in ==> ODE45_main at 3
[t,x]=ode45('ODE45_fun',tspan,x0);
回复此楼

» 猜你喜欢

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

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

信彼南山

木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
你这里面没出现dx6么

你咋到处挖坑啊
2楼2015-03-16 11:22:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wyjjf

新虫 (正式写手)

引用回帖:
2楼: Originally posted by 信彼南山 at 2015-03-16 11:22:31
你这里面没出现dx6么

你咋到处挖坑啊

本来建立的模型就没有dx6  只是x6
3楼2015-03-16 13:33:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wyjjf

新虫 (正式写手)

引用回帖:
2楼: Originally posted by 信彼南山 at 2015-03-16 11:22:31
你这里面没出现dx6么

你咋到处挖坑啊

http://muchong.com/bbs/viewthread.php?tid=8647830&pid=10#pid10
已经看到了,谢谢耐心讲解
MATLAB程序中的式子已经按照图片修改过了
前期是想程序的可行性,还是想的简单了     
运算后还是那些错误结果
dx=[dx(1);dx(2);dx(3);dx(4);dx(5);dx(6)]
确实是习惯写成dx(6)了,当时没注意
但确实有六个变量啊
写成:dx=[dx(1);dx(2);dx(3);dx(4);dx(5)]
那么x(6)怎么办呢?
彻底不会写了
4楼2015-03-16 14:00:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
在另外那个帖子中提过了
你的x(6)实际是公式里面的Y,而Y只出现在两个方程里面,可以吧Y带入另一个式子么。
这样就变成5个方程5个变量了。

用Euler法帮你简单算了一下,发散速度太快,只能算到7-8步的样子就NAN了
5楼2015-03-16 14:45:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wyjjf

新虫 (正式写手)

引用回帖:
5楼: Originally posted by 信彼南山 at 2015-03-16 14:45:14
在另外那个帖子中提过了
你的x(6)实际是公式里面的Y,而Y只出现在两个方程里面,可以吧Y带入另一个式子么。
这样就变成5个方程5个变量了。

用Euler法帮你简单算了一下,发散速度太快,只能算到7-8步的样子就NA ...

好的谢谢了
6楼2015-03-16 16:07:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wyjjf

新虫 (正式写手)

引用回帖:
5楼: Originally posted by 信彼南山 at 2015-03-16 14:45:14
在另外那个帖子中提过了
你的x(6)实际是公式里面的Y,而Y只出现在两个方程里面,可以吧Y带入另一个式子么。
这样就变成5个方程5个变量了。

用Euler法帮你简单算了一下,发散速度太快,只能算到7-8步的样子就NA ...

编辑MATLAB程序:
x y z b c 分别对应x(1——5), Y暂时没求
ODE45_fun【m文件】:
function dx=ODE45_fun(t,x)
dx = zeros(5,1); % a column vector
a1=1;a2=1;e1=9;e2=7;f1=56;f2=98;g1=76;g2=665;
a=a1+a2;
e=e1+e2;
f=f1+f2;
g=g1+g2;
dx(1)=x(3)-x(2)+x(4)*x(2)-2*x(5)*x(2)-x(2)*x(2)-x(5)-e-f-g;
dx(2)=x(1)-x(3)+x(4)*x(2)-x(2)*x(2)-x(5)*x(5)-x(5)*x(2)-e*f-g;
dx(3)=x(2)-x(1)+x(5)*x(1)-x(4)*x(3)+x(3)+x(4)+e*g+f;
dx(4)=x(5)*a+x(3)*x(1)+x(3)+e*f*g*(x(4)*x(5)+x(2)*x(3)+e*f+e*g)
dx(5)=x(4)*a+x(2)*x(1)-e*f*x(1)-x(2)*x(2)*x(5)-x(2)*x(5)*x(5)-e*f-f*g

dx=[dx(1);dx(2);dx(3);dx(4);dx(5)]; % dx=[dx(1);dx(2);dx(3);dx(4);dx(5);dx(6)];

ODE45_main【m文件】:
tspan=[0,1e-5];
x0=[0;0.1;2;0;0.1];
[t,x]=ode45('ODE45_fun',tspan,x0);
data=[t,x];
save ODE45_data.txt data -ascii
subplot(2,3,1),plot(t,x(1))
subplot(2,3,2),plot(t,x(2))
subplot(2,3,3),plot(t,x(3))
subplot(2,3,4),plot(t,x(4))
subplot(2,3,5),plot(t,x(5))
%subplot(2,3,6),plot(t,x(6))

以上的程序没问题
【问】
(1)由于Y=x(4)*x(5)+x(2)*x(3)+e*f+e*g
Y=x(4)*x(5)+x(2)*x(3)+e*f+e*g,该怎么添加到上面的程序里?
(2)tspan=[0,1e-5];
表示在MATLAB里算了多少次?或需要多长时间呢?
谢谢
空向量是因为我的自己的式子巧合出现的吗?
六元方程组怎么用MATLAB编辑程序?.jpg
7楼2015-03-17 09:26:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wyjjf 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 287求调剂 +4 晨昏线与星海 2026-03-19 5/250 2026-03-20 16:42 by Iveryant
[考研] 广西大学家禽遗传育种课题组2026年硕士招生(接收计算机专业调剂) +3 123阿标 2026-03-17 3/150 2026-03-20 15:58 by 飞行琦
[考研] 0817 化学工程 299分求调剂 有科研经历 有二区文章 +21 rare12345 2026-03-18 21/1050 2026-03-20 14:31 by 无懈可击111
[考博] 招收博士1-2人 +3 QGZDSYS 2026-03-18 3/150 2026-03-20 11:58 by 呱呱呱呱叫
[考研] 【考研调剂】化学专业 281分,一志愿四川大学,诚心求调剂 +6 吃吃吃才有意义 2026-03-19 6/300 2026-03-20 10:47 by 尽舜尧1
[考研] 一志愿苏州大学材料求调剂,总分315(英一) +3 sbdksD 2026-03-19 3/150 2026-03-19 23:21 by fmesaito
[考研] 梁成伟老师课题组欢迎你的加入 +9 一鸭鸭哟 2026-03-14 11/550 2026-03-19 17:22 by !本暗一次!
[考研] 一志愿天津大学化学工艺专业(081702)315分求调剂 +11 yangfz 2026-03-17 11/550 2026-03-19 15:06 by houyaoxu
[考研] 求调剂,一志愿:南京航空航天大学大学 ,080500材料科学与工程学硕,总分289分 +3 @taotao 2026-03-19 3/150 2026-03-19 14:07 by peike
[考研] 材料,纺织,生物(0856、0710),化学招生啦 +3 Eember. 2026-03-17 9/450 2026-03-18 10:28 by Eember.
[考研] 278求调剂 +5 烟火先于春 2026-03-17 5/250 2026-03-18 08:43 by 星空星月
[考研] 268求调剂 +8 一定有学上- 2026-03-14 9/450 2026-03-17 17:47 by laoshidan
[考研] 有没有道铁/土木的想调剂南林,给自己招师弟中~ +3 TqlXswl 2026-03-16 7/350 2026-03-17 15:23 by TqlXswl
[考研] 275求调剂 +4 太阳花天天开心 2026-03-16 4/200 2026-03-17 10:53 by 功夫疯狂
[考研] 304求调剂 +5 素年祭语 2026-03-15 5/250 2026-03-16 17:00 by 我的船我的海
[考研] 304求调剂 +4 ahbd 2026-03-14 4/200 2026-03-16 16:48 by 我的船我的海
[考研] 070300化学学硕求调剂 +6 太想进步了0608 2026-03-16 6/300 2026-03-16 16:13 by kykm678
[考研] 中科院材料273求调剂 +4 yzydy 2026-03-15 4/200 2026-03-16 15:59 by Gaodh_82
[考研] 277材料科学与工程080500求调剂 +3 自由煎饼果子 2026-03-16 3/150 2026-03-16 14:10 by 运气yunqi
[考研] 复试调剂 +3 呼呼?~+123456 2026-03-14 3/150 2026-03-14 16:53 by WTUChen
信息提示
请填处理意见