2017-12-23 22 views
2

でODEを解決することができません私はScilabの使用して、次の微分方程式を解決したい:X0 = 0、Y0 = 0として初期値では正しくScilabの

f(x)=sin(x); 

を。

私は何をしようとしたことはこれです:

// Define x 
x0=0; y0=0; 
xinc=0.001; xf=6; x=x0:xinc:xf; 

// Define differential equation 
deff('y=f(x)','y=sin(x)'); 
// Solve differential equation 

ydiff=ode(y0,x0,x,y); 

しかし、私はエラーを取得する:

-->exec('C:\Users\Saaama\Desktop\sinx().sce', -1) 
ydiff=ode(y0,x0,x,y); 
        !--error 4 
Undefined variable: y 
at line  9 of exec file called by :  
exec('C:\Users\Saima\Desktop\sinx().sce', -1) 

私も

ydiff=ode(y0,x0,x,f); 

それでも私はODEで同じエラーを取得を試してみました関数。

答えて

3

odeは、関数で時刻が使用されていなくても、パラメータの時間と空間を受け取る関数dotx=f(t,x)が必要です。

しかし、文脈からは、問題が単純な直角位相であるように、時間変数であることが意図されています(x)。そして、あなたは

deff('doty=f(x,y)','doty=sin(x)'); 

または長い形式を使用する必要が

function doty=f(x,y) 
    doty=sin(x) 
endfunction