Solving a PDE symbolically
47 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
richard
am 18 Okt. 2022
Kommentiert: richard
am 19 Okt. 2022
Greetings! Background: I'm studying "Interconnection and damping assignmemnt passivity based control" (abbreviated as "IDA-PBC"). The general challenge is to solve the matching equations. I am using symbollic math to enter systems of differential equations.
Example: I have a system of differential equations with two state variables like so (this is only an example from my head, just to illustrate what I'm trying to do):
x1_prime = x2 + u*x1 + dH/dx1 <--- dH/dx1 is the partial deriv of H wrt x1
x2_prime = x1 + dH/dx2 <--- dH/dx2 is the partial deriv of H wrt x2
H is the energy function that I'm trying to find
--> I know the partial derivatives of the function H, but I don't know what H itself is. Is there a matlab function that will help me find H symbollically?
0 Kommentare
Akzeptierte Antwort
Torsten
am 18 Okt. 2022
Bearbeitet: Torsten
am 18 Okt. 2022
First check whether (dH/dx1,dH/dx2) is conservative.
Then you can reconstruct H by using
H(x1,x2) = H(x10,x20) + integral_{z=x10}^{z=x1} dH/dx1(z,x20) dz + integral_{z=x20}^{z=x2} dH/dx2(x1,z) dz
where H(x10,x20) must be given (thus H must be fixed at a single point).
Following the example under
syms x y x1 y1
dHdx = y*cos(x) + y^2;
dHdy = sin(x)+2*x*y-2*y;
x0 = 0;
y0 = 0;
H0 = 0;
H = H0 + int(subs(dHdx,y,y0),x,x0,x1) + int(subs(dHdy,x,x1),y,y0,y1);
H = subs(H,[x1,y1],[x,y])
3 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Partial Differential Equation Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!