24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1179  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zhidian1993

新虫 (初入文坛)

[交流] 请大神指出哪儿错了,怎么改,谢谢。 已有5人参与

function f=odefun(t,x)
f(1)=x(2);
f(2)=(f(3)*0.1*0.008*sign(x(2))+0.25*0.1075*0.0415*61.67^2*sin(x(1)))/0.15*(-1);
f(4)=arcsin(0.1075/0.0415*sin(x(1)));
f(5)=(0.1075^2+0.0415^2+2*0.1075*0.0415*cos(x(1)))^(1/2);
f(3)=0.25*(0.0415*0.0415*(f(2)^2+x(2)^4)+f(5)^2*61.67^4+2*0.0415*f(5)*(x(2)^2*61.67^2*cos*(2*x(1)-f(4))+f(2)*61.67^2*0.1075*sin(f(4))))^(1/2);
end

[t,x]=ode45(@odefun,[0,5],[0,pi/4]);
plot(t,x)

试图访问 f(3);由于 numel(f)=1,索引超出范围。

出错 odefun (line 3)
f(2)=(f(3)*0.1*0.008*sign(x(2))+0.25*0.1075*0.0415*61.67^2*sin(x(1)))/0.15*(-1);

出错 odearguments (line 87)
f0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.

出错 ode45 (line 113)
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...
回复此楼

» 猜你喜欢

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

机械电子

新虫 (小有名气)

引用回帖:
3楼: Originally posted by 月只蓝 at 2016-08-17 20:59:48
有两方面问题:
其一,程序层面的。
对于MATLAB程序,一般情况下,应秉持“”先定义后使用“”的原则。
比如:
f(1)=x(2);
f(2)=(f(3)*0.1*0.008*sign(x(2))+0.25*0.1075*0.0415*61.67^2*sin(x(1)))/0.15*(-1) ...

不错

发自小木虫Android客户端
4楼2016-08-19 09:23:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

月只蓝

主管区长 (职业作家)


小木虫: 金币+0.5, 给个红包,谢谢回帖
有两方面问题:
其一,程序层面的。
对于MATLAB程序,一般情况下,应秉持“”先定义后使用“”的原则。
比如:
f(1)=x(2);
f(2)=(f(3)*0.1*0.008*sign(x(2))+0.25*0.1075*0.0415*61.67^2*sin(x(1)))/0.15*(-1);

来看上面这段代码,f(2)的定义中出现了f(3),然而在f(2)之前,并未有f(3)的定义。

其二,对问题的理解方面,或者说数学模型建立方面。
这方面的问题很严重,在这方面出现错误,将导致整个代码无意义。

1. 定义f时,f(2)和f(3)互相出现在了对方的表达式中,这说明f(2)和f(3)本身是隐函数,但是ode45函数只适合用于求解显式的常微分方程,明显不适用。

2. 既然调用ode系列函数,就应该明白,这是针对常微分方程(组)的函数,根据数学定义,常微分方程(组)因变量可为一个也可以是多个,但是自变量一定是一个,但在定义f时,出现了x(1)和x(2)两个自变量,两个自变量的情况,已经是偏微分方程的范畴了,这是一个致命的问题,这表明ode系列中任何函数都是不适用的。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
3楼2016-08-17 20:59:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (著名写手)

本帖仅楼主可见
5楼2016-08-19 09:50:04
已阅   申请程序强帖   回复此楼   编辑   查看我的主页

Autoyang

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
3楼: Originally posted by 月只蓝 at 2016-08-17 20:59:48
有两方面问题:
其一,程序层面的。
对于MATLAB程序,一般情况下,应秉持“”先定义后使用“”的原则。
比如:
f(1)=x(2);
f(2)=(f(3)*0.1*0.008*sign(x(2))+0.25*0.1075*0.0415*61.67^2*sin(x(1)))/0.15*(-1) ...

function xprim= xprim1(t,x)

global a b c d e f q w r v s g

xprim =[(e*s+a)*x(1)+(e*g+b)*x(2)+q*0.3*sin(t)+w*0.1*cos(2*t);(f*s+c)*x(1)+(f*g+d)*x(2)+r*0.3*sin(t)+v*0.1*cos(2*t)];


clear;clc;

global a b c d e f q w r v s g

a = 0; b = 1; c = 4; d = 0;
e = 0; f = 1;
q = 1; w = 0; r = 0; v = 1;
s = 1; g = 3;

[t,x] = ode45('xprim1',[0 9],[0.4;0.2]);

plot(t,x)



出错 ode45 (line 113)
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...

出错 event_trigger_ftb (line 10)
[t,x] = ode45('xprim1',[0 9],[0.4;0.2]);

您好,请问这个是怎么回事呀?
6楼2018-09-13 17:50:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 调剂求院校招收 +5 鹤鲸鸽 2026-03-28 5/250 2026-03-29 01:10 by 我是小康
[考研] 356求调剂 +3 gysy?s?a 2026-03-28 3/150 2026-03-29 00:33 by 544594351
[考研] 085600,专业课化工原理,321分求调剂 +4 大馋小子 2026-03-28 4/200 2026-03-29 00:32 by 544594351
[考研] 材料与化工272求调剂 +9 阿斯蒂芬2004 2026-03-28 9/450 2026-03-28 15:21 by 1018329917
[考研] 0703本科郑州大学求调剂 +3 nhj_ 2026-03-25 3/150 2026-03-28 13:24 by Iveryant
[考研] 0703一志愿9,初试成绩:338,四六级已过,有科研经历,求调剂! +4 Zuhui0306 2026-03-25 4/200 2026-03-28 13:07 by 唐沐儿
[考研] 085602 307分 求调剂 +7 不知道叫什么! 2026-03-26 7/350 2026-03-28 09:57 by 神马都不懂
[考研] 一志愿南昌大学324求调剂 +7 hanamiko 2026-03-27 7/350 2026-03-28 09:56 by 李上岸0921
[考研] 331环境科学与工程求调剂 +3 熠然好运气 2026-03-27 3/150 2026-03-28 04:11 by fmesaito
[考研] 287求调剂 +10 land xuxu 2026-03-26 10/500 2026-03-27 15:33 by 帕尔马拉特
[考研] 一志愿郑大085600,310分求调剂 +5 李潇可 2026-03-26 5/250 2026-03-27 11:14 by 不吃魚的貓
[考研] 0703化学338求调剂! +6 Zuhui0306 2026-03-26 7/350 2026-03-27 10:35 by shangxh
[考研] 342求调剂 +3 加油a李zs 2026-03-26 3/150 2026-03-27 00:29 by wxiongid
[考研] 333求调剂 +6 wfh030413@ 2026-03-23 6/300 2026-03-26 22:45 by 学员8dgXkO
[考研] 中国科学院深圳先进技术研究院-光纤传感课题组招生-中国科学院大学、深圳理工大学联培 +5 YangTyu1 2026-03-26 5/250 2026-03-26 18:27 by 猫咪猫咪呀
[考研] 材料与化工304求B区调剂 +3 邱gl 2026-03-26 6/300 2026-03-26 18:03 by 邱gl
[考研] 打过很多竞赛,085406控制工程300分,求调剂 +3 askeladz 2026-03-26 3/150 2026-03-26 09:08 by 给你你注意休息
[考研] 0854AI CV方向招收调剂 +4 章小鱼567 2026-03-23 4/200 2026-03-25 17:04 by CoderLoser
[考研] 0854电子信息求调剂 324 +4 Promise-jyl 2026-03-23 4/200 2026-03-25 11:36 by Sugarlight
[考研] 333求调剂 +3 ALULU4408 2026-03-23 3/150 2026-03-23 19:04 by macy2011
信息提示
请填处理意见