Need help plotting a set of differential equations.

1 visualizzazione (ultimi 30 giorni)
I would like to know how to plot 2 differential equations for the height for t= 120 seconds where A = 30 in and K = 1.4. The equations are as follows:
  1 Commento
John Chilleri
John Chilleri il 24 Apr 2017
You need initial conditions, but I'll attach a version with arbitrary initial conditions in a minute.

Accedi per commentare.

Risposta accettata

John Chilleri
John Chilleri il 24 Apr 2017
Hello,
You can use the built-in ode45 function to solve this:
clear all
close all
clc
%
% Initialize time span
tspan = [0 120];
%
% Set initial conditions
init = [1; 1];
%
% Initialize constants
A = 30;
K = 1.4;
%
% Call ode45 to solve differential equations
[tout, hout] = ode45(@hfunctions, tspan, init);
%
% Plot results
figure(1)
hold on
plot(tout,hout(:,1),'r')
plot(tout,hout(:,2),'b')
title('Differential Equations Example')
xlabel('t')
ylabel('h')
legend('h_{tor}','h_{prop}')
where you also have a function in your directory named hfunctions:
function hdot = hfunctions(~,h)
hdot = 1.4*sqrt(h(1))/30;
hdot(2,1) = 1.4*h(2)/30;
end
hfunctions solves for the derivative, that is, htor' and hprop'.
The resulting plot (with my arbitrary initial conditions 1 and 1) is,
Hope this helps!

Più risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by