2017-12-23 4 views
2

Ich möchte folgende Differentialgleichung unter Verwendung scilab lösen:kann nicht ODE lösen richtig mit Scilab

f(x)=sin(x); 

mit Anfangswerten als x0 = 0, Y 0 = 0;

Was ich habe versucht, ist dies:

// 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); 

Allerdings bekomme ich Fehler:

-->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) 

Ich habe auch versucht

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

Noch ich die gleichen Fehler auf ode Funktion.

Antwort

3

ode erwartet eine Funktion, die Parameter Zeit und Raum, dotx=f(t,x), übernimmt, auch wenn die Zeit nicht in der Funktion verwendet wird.

Aber aus dem Zusammenhang Sie Absicht x, um die Zeit variabel zu sein, so dass das Problem eine einfache Quadratur ist. Dann brauchen Sie

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

oder die lange Form verwenden

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