[問題] 有關Runge-Kutta的程式問題已回收
以下的函式是我依照一本Matlab書上的程式照著打,然後我自己再建一主程式去call函式,
可是總是出現下列的錯誤訊息,後來我將函式中global左邊的%拿掉,他還是說我
Undefined function or variable,我不懂的是,我都已經在feval中給了初始值,
為何還會出現這樣的錯誤呢? 我的程式要如何修改才能正常運作呢?
%================主程式=========================
feval('RK45', 1, 1, 10, 10)
%================主程式=========================
%================函式=========================
function [x,y]=RK45(f,xinit,yinit,b,n)
% 4th order Runge-Kutta Method
% global xinit,yinit,b,n;
h=(b-xinit)./n;
x=zeros(n+1,1);
y=zeros(n+1,1);
x(1)=xinit;
y(1)=yinit;
for i=1:n
x(i+1)=x(i)+h;
k1=feval(f,x(i),y(i));
k2=feval(f,x(i)+h/2,y(i)+h/2*k1);
k3=feval(f,x(i)+h/2,y(i)+h/2*k2);
k4=feval(f,x(i+1),y(i)+h*k3);
y(i+1)=y(i) + h/6*(k1+2*k2+2*k3+k4);
end
format long
%================函式=========================
%================錯誤訊息=========================
??? Input argument "n" is undefined.
Error in ==> RK45 at 5
h=(b-xinit)./n;
Error in ==> SolverRK45 at 6
feval('RK45', 1, 1, 10, 10)
%================錯誤訊息=========================
謝謝幫忙,請多多指教.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.41.177
推
03/26 00:37, , 1F
03/26 00:37, 1F
推
03/26 02:08, , 2F
03/26 02:08, 2F
→
03/26 02:08, , 3F
03/26 02:08, 3F
→
03/26 10:22, , 4F
03/26 10:22, 4F
→
03/26 10:23, , 5F
03/26 10:23, 5F
→
03/26 10:24, , 6F
03/26 10:24, 6F