24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1176  |  回复: 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的回帖

匿名

用户注销 (著名写手)

本帖仅楼主可见
5楼2016-08-19 09:50:04
已阅   申请程序强帖   回复此楼   编辑   查看我的主页
查看全部 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的回帖

机械电子

新虫 (小有名气)

引用回帖:
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的回帖

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的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 数一英一271专硕(085401)求调剂,可跨 +3 前行必有光 2026-03-28 4/200 2026-03-28 10:07 by laoshidan
[考研] 286求调剂 +11 PolarBear11 2026-03-26 11/550 2026-03-28 09:55 by 李上岸0921
[考研] 321求调剂 +5 璞玉~~ 2026-03-25 5/250 2026-03-28 08:27 by Iveryant
[考研] 086502化学工程342求调剂 +6 阿姨复古不过 2026-03-27 6/300 2026-03-28 07:06 by wangy0907
[考研] 352分 化工与材料 +5 海纳百川Ly 2026-03-27 5/250 2026-03-28 03:39 by fmesaito
[考研] 265求调剂 +8 小木虫085600 2026-03-27 8/400 2026-03-27 22:16 by 无际的草原
[考研] 一志愿上海理工能源动力(085800)310分求调剂 +3 zhangmingc 2026-03-27 4/200 2026-03-27 19:01 by 给你你注意休息
[考研] 266分求材料化工冶金矿业等专业的调剂 +4 哇呼哼呼哼 2026-03-26 4/200 2026-03-27 17:02 by zhyzzh
[考研] 一志愿北京化工大学 070300 学硕 336分 求调剂 +9 vv迷 2026-03-22 9/450 2026-03-27 15:59 by 不吃魚的貓
[考研] 287求调剂 +10 land xuxu 2026-03-26 10/500 2026-03-27 15:33 by 帕尔马拉特
[考研] 316求调剂 +5 Pigcasso 2026-03-24 5/250 2026-03-27 12:10 by zhshch
[考研] 324求调剂 +5 hanamiko 2026-03-26 5/250 2026-03-27 10:33 by wangjy2002
[考研] 一志愿华理,数一英一285求A区调剂 +8 AZMK 2026-03-25 10/500 2026-03-26 22:37 by 学员8dgXkO
[考研] 352求调剂 +4 大米饭! 2026-03-22 4/200 2026-03-26 16:40 by 不吃魚的貓
[考研] 资源与环境 调剂申请(333分) +9 holy J 2026-03-21 9/450 2026-03-26 15:47 by 161765490
[考研] 一志愿河工大 081700 276求调剂 +4 地球绕着太阳转 2026-03-23 4/200 2026-03-26 14:27 by zzll406
[考研] 282求调剂 +3 wcq131415 2026-03-24 3/150 2026-03-25 12:16 by userper
[考研] 一志愿山东大学药学学硕求调剂 +3 开开心心没烦恼 2026-03-23 4/200 2026-03-24 00:06 by 开开心心没烦恼
[考研] 一志愿重庆大学085700资源与环境,总分308求调剂 +7 墨墨漠 2026-03-23 8/400 2026-03-23 20:36 by Creta
[论文投稿] 急发核心期刊论文 +3 贤达问津 2026-03-23 5/250 2026-03-23 17:13 by 妹子不好惹
信息提示
请填处理意见