# Plotting a velocity vector field

4 views (last 30 days)
Talha Yagli on 7 Jan 2023
Commented: Talha Yagli on 7 Jan 2023
I am trying to plot a velocity vector filed that taken from the user as an input
syms x y z i j k
velocity=(input("velocity:","s")) %example (x^2+y*z)*i+((z^3)*4*y)*j+(y^2)*k
convertCharsToStrings(velocity);
velocity_eq=inline(velocity,"x","y","z","i","j","k");
velocity_iComp=symfun(velocity_eq(x,y,z,1,0,0),[x,y,z]); % these are i j k componenets of the vector
velocity_jComp=symfun(velocity_eq(x,y,z,0,1,0),[x,y,z]);
velocity_kComp=symfun(velocity_eq(x,y,z,0,0,1),[x,y,z]);
that is how ı get the vector field equation from the user
lenghtV=sqrt(velocity_iComp.^2+velocity_jComp.^2+velocity_kComp.^2) % lenght formula of each vector on field
how can ı plot this symbolic vector field equation
##### 2 CommentsShowHide 1 older comment
Talha Yagli on 7 Jan 2023
I'd like to achive a something like this. Also the equation above is a vector;
(example)
Basicly it is a 3 variable vector field equation, my purpose is to plot this symblolic equation

Paul on 7 Jan 2023
Here is how you can plot what I thinkg your want using quiver3 over a 3D cube. Should be able to adapt it as needed. Check its doc page or this one or the one linked above for more details and other options.
syms x y z i j k
%velocity=(input("velocity:","s")) %example (x^2+y*z)*i+((z^3)*4*y)*j+(y^2)*k
velocity = '(x^2+y*z)*i+((z^3)*4*y)*j+(y^2)*k';
velocity = convertCharsToStrings(velocity);
velocity_eq=inline(velocity,"x","y","z","i","j","k");
velocity_iComp=symfun(velocity_eq(x,y,z,1,0,0),[x,y,z]) % these are i j k componenets of the vector
velocity_iComp(x, y, z) =
velocity_jComp=symfun(velocity_eq(x,y,z,0,1,0),[x,y,z])
velocity_jComp(x, y, z) =
velocity_kComp=symfun(velocity_eq(x,y,z,0,0,1),[x,y,z])
velocity_kComp(x, y, z) =
icomp = matlabFunction(velocity_iComp,Vars = {'x' 'y' 'z'})
icomp = function_handle with value:
@(x,y,z)y.*z+x.^2
jcomp = matlabFunction(velocity_jComp,Vars = {'x' 'y' 'z'})
jcomp = function_handle with value:
@(x,y,z)y.*z.^3.*4.0
kcomp = matlabFunction(velocity_kComp,Vars = {'x' 'y' 'z'})
kcomp = function_handle with value:
@(x,y,z)y.^2
[X,Y,Z] = meshgrid(0:.2:1,0:.2:1,0:.2:2);
U = icomp(X,Y,Z);
V = jcomp(X,Y,Z);
W = kcomp(X,Y,Z);
quiver3(X,Y,Z,U,V,W)
xlabel('X'),ylabel('Y'),zlabel('Z')
Talha Yagli on 7 Jan 2023
Thank you very much for your attention I have been working on this for days

### Categories

Find more on Get Started with Symbolic Math Toolbox in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by