[問題]關於ODE45解函數的問題已回收
希望各位能幫我看一下,提點一下我錯在哪邊,以下是我的程式:
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)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章