Urgente: ¿Cómo programar para resolver el valor x de Matlab cuando está dentro de un intervalo determinado?
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
.