Red de conocimiento informático - Conocimiento del nombre de dominio - Urgente: ¿Cómo programar para resolver el valor x de Matlab cuando está dentro de un intervalo determinado?

Urgente: ¿Cómo programar para resolver el valor x de Matlab cuando está dentro de un intervalo determinado?

La parte de la función z=lkfun(x, y) f(x, y) se puede modificar de acuerdo con la función específica

z=-0.9*y/(1 2*x);

Resolver la función

Utilice programación MATLAB para resolver numéricamente la ecuación diferencial ordinaria de Lungkuta de cuarto orden

función [y, x] =LK(a, b, y0, N )

a, b representa el intervalo de solución numérica

y0 representa el valor inicial

N representa la densidad espacial de la solución

x=linspace(a, b, N) ; Valor x resuelto

h=(b-a)/(N-1); Dividir en N-1 intervalos

y=zeros( 1, N); Definir longitud

y(1)=y0; Valor inicial

Proceso de iteración específico

Para i=1: N-1

p>

k1= lkfun(x(i), y(i));

k2=lkfun(x(i) h/2, y(i) h*k1/2);

k3=lkfun(x(i) h/2, y(i) h*k2/2);

k4=lkfun(x(i) h, y(i ) h*k3);

y(i 1)=y(i) h/6*(k1 2*k2 2*k3 k4

fin

);

disp('Solución numérica de la ecuación diferencial ordinaria:')

disp([x;y])

Ejemplo de verificación lk(0, 1, 1, 6); llamar a escribir Ingrese la función Lungkuta LK

Solución numérica de la ecuación diferencial ordinaria:

0 0,2000 0,4000 0,6000 0,8000 1,0000

1,0000 0,8595 0,7676 0,7013 0.6505 0.6099

dsolve('Dy=-0.9*y/(1 2*t)', 'y(0)=1') matlab tiene su propia función de solución dsolve para verificación

ans =1/ (2*t 1)^(9/20)

t=[0:0.2:1];

1./((2*t 1).^(9 /20))

ans =

0 0,2000 0,4000 0,6000 0,8000 1,0000

1,0000 0,8595 0,7676 0,7013 0,6505 0,6100

El error es muy pequeño

Este es uno de cuarto nivel que escribí antes. Deberías poder modificarlo tú mismo

.