1 votos

Uso de matlab para representar soluciones a una ecuación en diferencias

Me sugirieron que utilizara matlab para un proyecto trimestral de mi clase de ODE, me gustaría echar un vistazo a varios modelos biológicos, sobre todo de crecimiento de la población. El problema es que no tengo ni idea de cómo funciona matlab.

Por ejemplo, me gustaría trazar los primeros X términos de las soluciones de una ecuación, como por ejemplo $x_{n+1}=rx_n(1-x_n)$ , $x_0=0.1$ donde $r = 0.9, 1.5, 3, 4$ y luego dibujar mapas de telaraña de cada caso.

Cualquier consejo sobre cómo codificar esto o si hay alguna fuente rápida y fácil de averiguar cómo hacer esto, sería muy apreciada. Eché un vistazo al programa y no pude averiguar nada, y siendo tan temprano en el semestre, no he tenido ninguna experiencia con este programa, no estoy seguro de si incluso vamos a usarlo, pero yo quería tener una ventaja en averiguar el programa.

1voto

rob Puntos 1459

Este es el código para generar su $x_n$ estimaciones en una matriz x, el $n^{th}$ corresponde al valor de $x_{n-1}$ para un valor diferente de $r$ especificado por el índice de columna de $x$ . Acabo de trazar un gráfico normal para que puedas ver la evolución.

X = 100 % first X terms
R = [0.9,1.5,3,4]; % these are the r values
x = zeros(X,length(R)); % initialise x to all zeros
x(1,:) = 0.1 % this is x0
k=1; % set a counter to 1
for r=R
for n = 1:X
    x(n+1,k) = r*x(n)*(1-x(n));% for each r and n update x
end
k=k+1;
end
plot(x)% plot them all
legend('r=0.9','r=1.5','r=3','r=4')

Debería poder ver esto

enter image description here

Para un gráfico de telaraña, es necesario generar un subgrupo para cada $r$ es decir

figure
for k = 1:length(R)
subplot(2,2,k)
for n = 1:(X-1)
    plot([x(n,k),x(n,k)],[x(n,k),x(n+1,k)])
    hold on
    plot([x(n,k),x(n+1,k)],[x(n+1,k),x(n+1,k)])
end
title(['Cobweb for r = ', num2str(R(k))])
end

Ahora, deberías ver esto: enter image description here

Esto demuestra que para todos da $r$ valores, vas a $x_n \rightarrow 0$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X