找回密码
 注册
关于网站域名变更的通知
查看: 436|回复: 4
打印 上一主题 下一主题

ODE45解方程出错

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-8-10 15:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
函数文件,) \1 A# L4 \& b& U  @: W9 ]9 Z- G1 u
function dy=qipao(t,y,c,Pv,PA,sigma,rho,n,mu,w,P0)+ k! i& m. @) X3 W2 P
dy(1,1)=y(2);5 e' \+ u) r) x  h6 F
dy(2,1)=((PO+2*sigma/RO-Pv)*((RO/y(1))^(3*n)+Pv+PA*sin(w*t)-P0-2*sigma/y(1))/(rho*y(1))...7 G! x; C/ z- \& ~" f) Q4 X
-4*mu*y(2)/(rho*y(1)^2))...
6 \: L2 }) T& M# _) y+((P0+2*sigma/R0-Pv)*(R0^(3*n))*(-3)*n*(y(2))^((-3)*n-1)-w*PA*cos(w*t))/(rho*c)...
: A2 {+ p. R+ Y6 x0 F& G% s1 S-3/2*y(2)^2/y(1);5 N6 w5 z, x9 b7 m4 l
end
& z( O$ P4 s& F) b这是运行脚本文件,' l, y- \& u& l* v) @1 R  r7 j  @
clear all;" B' I2 }* u# V/ A- y* v( B
clc;
' G+ t/ J1 n2 ]& t0 jf=0.025*10^6;
- F: {' R0 |8 }" i9 \/ O; Rmu=1.31*10^(-3);
; R1 D# x% |5 @/ U! j. m$ a5 hR0=10;
" ~+ D4 M/ P7 V3 `* c/ qtspan=[0,6];) t/ s* ~- j$ w8 F
x0=[10;0];
8 e1 f4 }8 z  R0 }. U) O- @) B3 BPA=2.41*10^5;
* k# a- n" w, b5 z# O) [- EPv=1.23*10^3;
4 A4 f- S9 b, M) r- An=1.33;
4 G1 \" q3 _$ H4 N, C$ usigma=7.42*10^(-2);
! ^7 n# ]3 C! q) arho=1000;
5 E, x4 X, S, E' z9 b1 eP0=1.013*10^5;
+ n6 f4 e: X5 b* A! ]' Fw=2*pi*f;
0 B2 `& p9 j7 t0 K1 h! [# y4 L3 v3 E[t,y]=ode45(@qipao,tspan,x0);9 n/ T: d$ h% P' d3 l6 S$ }5 m( r
plot(t,y(:,1),'r-');  O5 ~0 |; p1 @4 d3 ?7 m; I' K
xlabel('t=Time/T');ylabel('Solution R(t)/RO');legend('R=R(t)/RO')2 s! _$ ^5 D" L' o# ?

8 p2 f5 f/ M  K运行的时候出现错误:
/ w+ ~4 L& {6 c% r6 g" ], H# r未定义函数或变量 'PO'。
( V" @6 e% I+ Y  w  L: C  m* C9 b9 |7 n8 y2 ?
出错 qipao (line 4)
& p& `; E( G4 Sdy(2,1)=((PO+2*sigma/RO-Pv)*((RO/y(1))^(3*n)+Pv+PA*sin(w*t)-P0-2*sigma/y(1))/(rho*y(1))...1 ~' l4 Z5 S; u7 D
& }' \9 S( k) Q' _5 B# E8 \, E
出错 odearguments (line 90)
* d: R, Z' q6 V4 Sf0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.
$ D( T9 v) ?7 _. c2 s& V& W4 T3 _3 F# W
出错 ode45 (line 115): z* u7 _/ T3 |9 V7 i2 u/ ~! a' a
    odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options, varargin);) L" L) n$ S4 O
$ W1 c0 @) Y; n. p. B
出错 qipao1 (line 15)( K) a. V- e/ r
[t,y]=ode45(@qipao,tspan,x0);$ u. ?- ~- Z) S- J) c+ Y
) U" ?5 w9 O- }3 z0 }4 d/ A3 Q
! H# p( e* N; q/ W  C8 o2 q
请问前辈们怎么解决,我查阅了实例和书本,初值都赋值了,ODE45调用也是参考书本来的,一模一样,为什么还会出错????3 }  ~, }  `' l) b; v" q

该用户从未签到

2#
发表于 2020-8-10 17:47 | 只看该作者
帮你顶一下

该用户从未签到

3#
发表于 2020-8-11 13:31 | 只看该作者
不够仔细啊。
/ v! v. k* }7 v自定义函数里面的输入变量是P0,结果你下面就打字把数字零打成了字母欧
* K3 }- D% H9 A+ o5 @dy(2,1)=((PO...

点评

错 qipao (line 4) dy(2,1)=((P0+2*sigma/RO-Pv)*((RO/y(1))^(3*n)+Pv+PA*sin(w*t)-P0-2*sigma/y(1))/(rho*y(1))... 出错 odearguments (line 90) f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to  详情 回复 发表于 2020-8-12 10:19

该用户从未签到

4#
发表于 2020-8-12 09:51 | 只看该作者
来学习一下

该用户从未签到

5#
 楼主| 发表于 2020-8-12 10:19 | 只看该作者
nkkopd 发表于 2020-8-11 13:31, O- b4 G5 V8 [6 G* r  _6 x
不够仔细啊。' v: E7 ~% V  X, v* o; o: }
自定义函数里面的输入变量是P0,结果你下面就打字把数字零打成了字母欧
: A3 q- T% O7 ~% Pdy(2,1)=((PO...
/ Y/ k1 m, ~. Y8 e" @9 `/ Q, |9 c
错 qipao (line 4)7 j4 Z) h8 M% X7 k5 X- u4 z) V
dy(2,1)=((P0+2*sigma/RO-Pv)*((RO/y(1))^(3*n)+Pv+PA*sin(w*t)-P0-2*sigma/y(1))/(rho*y(1))...* `" V4 K. J$ P# q
- q3 h/ _# ^8 t. O- E6 O5 h+ [
出错 odearguments (line 90)! y* N0 _3 J8 D
f0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.
1 M8 \( u. Q4 F1 O9 Z  [7 t: H+ b' j- r7 F3 P7 o
出错 ode45 (line 115)
+ o5 k: B0 U- H* \6 u    odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options, varargin);% o, y; Z! M9 e. R. R
3 y# v& F8 j; v$ q8 q
出错 qipao1 (line 17)
. A4 U* r7 V! o+ X4 o: [' k( |[t,y]=ode45(@qipao,tspan,x0);
" M" }: X' B+ P$ o5 w+ L
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-27 20:42 , Processed in 0.109375 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表