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

ODE45解方程出错

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
函数文件,2 G/ I2 Y9 [& E0 e2 [
function dy=qipao(t,y,c,Pv,PA,sigma,rho,n,mu,w,P0)
$ l) r- I$ H/ o8 w- I( W6 G2 f  Udy(1,1)=y(2);
0 S* k' X9 s# C  Ndy(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))...5 Y) A" Z0 q9 T! q2 [6 v: N0 s: k/ B
-4*mu*y(2)/(rho*y(1)^2))...
3 ~' l8 {# ]& e4 o+((P0+2*sigma/R0-Pv)*(R0^(3*n))*(-3)*n*(y(2))^((-3)*n-1)-w*PA*cos(w*t))/(rho*c)...
% [; a2 U% Z1 Z* a-3/2*y(2)^2/y(1);" c- G: B1 X# a7 m* {" r
end+ g7 I, h; R6 Q1 t( l. n' s8 f
这是运行脚本文件,
* H( X6 o1 a: kclear all;
! `. m  K" @( ]. q8 Lclc;
, D2 i  M+ j6 J& cf=0.025*10^6;+ x2 `! q! p" w. j5 b; r( p0 {- Y
mu=1.31*10^(-3);  \' N  ^3 |6 A4 r+ K
R0=10;
) X8 I, f4 j, e" N& w1 X8 Ltspan=[0,6];
, M  R/ c- }3 rx0=[10;0];
* I, ^, h# Z( o1 ^# oPA=2.41*10^5;
1 ]9 r$ s+ v8 f" X* c4 d: X3 EPv=1.23*10^3;) ?6 P3 f5 n, W
n=1.33;
2 ^3 o; ~& \7 K7 Z; W# ^sigma=7.42*10^(-2);
- G  D1 B4 o* e' L: trho=1000;
, `9 X5 |: C$ K4 y/ ^P0=1.013*10^5;5 W7 Q# @# ^. o/ m
w=2*pi*f;! S& v$ D2 N$ M9 g, _  l
[t,y]=ode45(@qipao,tspan,x0);0 G( A: e2 j. u6 F* S% N- F
plot(t,y(:,1),'r-');, i7 x0 [) x! v3 }$ n
xlabel('t=Time/T');ylabel('Solution R(t)/RO');legend('R=R(t)/RO')
7 ?6 P+ L/ r; B0 B9 Z1 a0 q) V* X: J; U6 A. i8 M% H# @6 W  L6 X9 `
运行的时候出现错误:
/ P1 Q: a+ l6 a) J  P2 B: d未定义函数或变量 'PO'。. X) o' o' \3 R3 K. c+ [+ s

- N3 }2 Q% B) T9 V  e出错 qipao (line 4)
' r) A! d5 B& O: ?$ x  Vdy(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))..., I3 s% e, F/ C4 ~) u

, P8 ~+ f  b+ k5 e8 G: k8 r出错 odearguments (line 90)
! q5 f/ E2 u/ M$ v1 ^7 P( N) zf0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.
4 ?" W" U! O1 D5 [" p
' M4 _& }, m# n2 Z出错 ode45 (line 115)! |2 Q4 [4 Z! h
    odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options, varargin);# M/ }; |0 k$ o* n& A
) _" ?* n- B3 W5 Z- f2 @% `
出错 qipao1 (line 15)
1 g: J1 H! @1 H[t,y]=ode45(@qipao,tspan,x0);
9 m2 `- u, k3 e+ e" `2 K! c1 L- m$ o; }* C- W. p! q

' y* e7 V- t* D7 e& V7 ~请问前辈们怎么解决,我查阅了实例和书本,初值都赋值了,ODE45调用也是参考书本来的,一模一样,为什么还会出错????
- D2 L. m& H9 h0 e3 a5 ?, [

该用户从未签到

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

该用户从未签到

3#
发表于 2020-8-11 13:31 | 只看该作者
不够仔细啊。
  L1 N- x/ T8 a% P, @自定义函数里面的输入变量是P0,结果你下面就打字把数字零打成了字母欧
4 D8 L9 _2 Y; C0 Idy(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( g" u8 k3 N( M) {! T4 I1 e$ S
不够仔细啊。
# C0 u6 x! ~; m2 ^1 C自定义函数里面的输入变量是P0,结果你下面就打字把数字零打成了字母欧
- o6 L+ G8 b2 ~7 R6 sdy(2,1)=((PO...
! X5 _# n" M( J% T
错 qipao (line 4)
2 f0 a+ Y0 V2 k8 I; {- N1 Ldy(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))...; i: z% J: u. i

. i) o+ O3 z7 j2 V/ e' t出错 odearguments (line 90)
& ^; m; T& _  B* L7 E' Y# gf0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.
! ]1 V. x$ ]$ E+ e  w0 c2 _6 t' G2 \# [4 P- V( S
出错 ode45 (line 115)
7 y0 |* I$ \4 G( w5 V" v8 N    odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options, varargin);
  D8 q: t& Q. w4 P
% z+ b/ q1 }- G, y* f; J出错 qipao1 (line 17)5 ~+ h4 w9 p! Y) f/ e
[t,y]=ode45(@qipao,tspan,x0);% D) Q0 R3 g1 p9 }/ F. r& ]* l/ X
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-22 21:49 , Processed in 0.078125 second(s), 24 queries , Gzip On.

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

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

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