problem with symbolic to function handle
이전 댓글 표시
Hi, i have a symbolic function of 3 variables and then I compute its gradient and convert each entry of the gradient to a function handle,but some of them become function handles of less than 3 variables, and that makes the evaluation of the vector field more difficult, any ideas on how to solve this?
syms x y z
f=x*y*z+x*2*y
G=gradient(f)
Dx=matlabFunction(G(1));
Dy=matlabFunction(G(2));
Dz=matlabFunction(G(3));
[X,Y,Z]=meshgrid(-3:1:3);
Fx=Dx(Y,Z);
Fy=Dy(X,Z);
Fz=Dz(X,Y);
this code works but i would like it to work when i write:
Fx=Dx( X,Y,Z);
Fy=Dy(X,Y,Z);
Fz=Dz(X,Y,Z);
and this is what my function handles look like:
Dx =
@(y, z) y .* z + 2 .* y
Dy =
@(x, z) x .* z + 2 .* x
Dz =
@(x, y) x .* y
채택된 답변
추가 답변 (1개)
Mischa Kim
2016년 11월 1일
How about
syms x y z
f = x*y*z+x*2*y;
G = gradient(f);
m = matlabFunction(G);
[X,Y,Z] = meshgrid(-3:1:3);
m_eval = m(X,Y,Z);
카테고리
도움말 센터 및 File Exchange에서 Numeric Solvers에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!