Solve system of differential equations

4 visualizzazioni (ultimi 30 giorni)
Yokuna
Yokuna il 16 Mag 2022
Commentato: Torsten il 16 Mag 2022
I am facing problem in solving the differential equation
is a vector () as shown in code and is also a vector (). x11=[x1,y1]. I want to solve , where represents derivative with respect to time. Can any one help me to find out x11 vs time. (Note and x11 are the same.) (Preferably use fsolve as I tried using it).
close all
clear all
clc
x01=-5;y01=-7;
x0=[x01,y01]';
beta=25;
syms x1 y1 t
x11=[x1,y1]';
c1=(1/2)*(x1-i*sin(t))^2+(3/2)*(y1-i*cos(t))^2;
row=100*exp(0.1*t);
g1=y1-x1-cos(t);
L1=c1-(1/row)*log(1-row*g1);
grad1 = gradient(L1,x11');
hess1 = hessian(L1,x11');
phi1=-(hess1)^(-1)*(grad1+diff(grad1,t));
u1=-beta*(hess1)^(-1)*x11+phi1
u1 = 
  2 Commenti
Torsten
Torsten il 16 Mag 2022
u1 is a 2x2 matrix, x11 is a 2x1 vector.
What do you mean by
x11dot = u1
?
Maybe you mean
x11dot = u1*x1
?
Yokuna
Yokuna il 16 Mag 2022
Thanks for pointing out, I have corrected the question.

Accedi per commentare.

Risposta accettata

Torsten
Torsten il 16 Mag 2022
x01=-5;y01=-7;
x0=[x01,y01]';
beta=25;
syms x1 y1 t
x11=[x1,y1]';
c1=(1/2)*(x1-i*sin(t))^2+(3/2)*(y1-i*cos(t))^2;
row=100*exp(0.1*t);
g1=y1-x1-cos(t);
L1=c1-(1/row)*log(1-row*g1);
grad1 = gradient(L1,x11');
hess1 = hessian(L1,x11');
phi1=-(hess1)^(-1)*(grad1+diff(grad1,t));
u1=-beta*(hess1)^(-1)*x11+phi1
fun = matlabFunction(u1,'Vars',{t,x1,y1})
fun = @(t,y)fun(t,x1,y1);
y0 = [x01,y01];
tspan = [0 1]
[T,Y] = ode45(fun,tspan,y0)
plot(T,[real(Y),imag(Y)])
  2 Commenti
Yokuna
Yokuna il 16 Mag 2022
It gives error solving it through ode45, as the inputs needs to be floats.
Torsten
Torsten il 16 Mag 2022
Replace
fun = @(t,y)fun(t,x1,y1);
by
fun = @(t,y)fun(t,y(1),y(2));

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Symbolic Math Toolbox in Help Center e File Exchange

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by