[問題]關於ODE45解函數的問題已回收

看板MATLAB作者 (胖哥)時間16年前 (2009/09/29 16:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
希望各位能幫我看一下,提點一下我錯在哪邊,以下是我的程式: function fun01sol clear all; clc; option=odeset('RelTol',0.00001); s0=-1; s1=-0.5; [x,y]=ode45(@ODE,[0:0.001:10],[0 1 s0 1 s1],option); disp('f''') [x,y(:,2)] figure(1) hold on; plot(x,y(:,2)) xlabel('\eta'); ylabel('f\prime'); figure(2) hold on; xlabel('\eta'); ylabel('\theta'); plot(x,y(:,4)) figure(3) %--------------------------------------------------------------------- function dydx=ODE(x,y) A=0; R=0.5; Pr=0.72; dydx=[y(2); y(3); -y(1)*y(3)+y(2)*y(2)+A*(y(2)+(x/2)*y(3)); y(5); (-3*R*Pr(y(1)*y(5)-y(2)*y(4)-A/2*(3*y(4)+x*y(5))))/(3*R+4);] 錯誤訊息如下: ??? Attempted to access Pr(-1); index must be a positive integer or logical. Error in ==> ODE45_A00R05>ODE at 26 dydx=[y(2); Error in ==> 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, odeFcn, ... Error in ==> ODE45_A00R05 at 7 [x,y]=ode45(@ODE,[0:0.001:10],[0 1 s0 1 s1],option); 希望能請各位大大幫我修改或提點一下我的錯誤在哪? 感激不盡 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.135.96.133 ※ 編輯: kent636301 來自: 140.135.96.133 (09/29 16:20)
文章代碼(AID): #1AmS9hi5 (MATLAB)
文章代碼(AID): #1AmS9hi5 (MATLAB)