How to find gradient of a vector field in matlab symbolic
19 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Chandan
am 12 Dez. 2023
Beantwortet: Chandan
am 13 Dez. 2023
I am trying to find gradient of a vector field in matlab symbolic , whose output will be matrix but it am getting error
2 Kommentare
Akzeptierte Antwort
Walter Roberson
am 12 Dez. 2023
Verschoben: Walter Roberson
am 12 Dez. 2023
The fundamental problem you are having is that gradient does not accept a vector the first parameter.
syms x y z
syms u(x,y,z) v(x,y,z) w(x,y,z)
V = [u(x,y,z) v(x,y,z) w(x,y,z)];
S = [x y z];
temp = arrayfun(@(EXPR) gradient(EXPR,S), V, 'uniform', 0);
result(x,y,z) = [temp{:}]
0 Kommentare
Weitere Antworten (2)
Sulaymon Eshkabilov
am 12 Dez. 2023
If you assign an expression for V, you will get this:
clc ; clearvars
syms x y z
syms u(x,y,z) v(x,y,z) w(x,y,z)
V(x,y,z) = 2*u+3*v-w % Some e.g. expression
S = [x y z];
du = gradient(u,S)
dV = gradient(V,S)
% OR simply
dV= gradient(V,[x,y,z])
1 Kommentar
Dyuman Joshi
am 12 Dez. 2023
V is not a combination of u, v and w, but an array with u, v and w as elements.
Siehe auch
Kategorien
Mehr zu Symbolic Math 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!