本文共 1854 字,大约阅读时间需要 6 分钟。
streamline(x,y,u,v,startx,starty)
其中startx,starty分别为流线的坐标
[x,y]=meshgrid(0:0.1:1,0:0.1:1); u=sin(x);v=-y; figure quiver(x,y,u,v,1); startx=0.1:0.1:1; starty=ones(size(startx)); streamline(x,y,u,v,startx,starty)
%% 二维 [x,y]=meshgrid(0:.2:2); u=cos(x).*y; v=sin(x).*y; quiver(x,y,u,v)
%% 三维 [x,y]=meshgrid(0:.2:2); u=cos(x).*y; v=sin(x).*y; quiver(x,y,u,v)
对于直角坐标系
对于柱坐标系
对于球坐标系
matlab中用法,[Fx,Fy,Fz...Fn]=gradient(F,hx,hy,hz...hn)
下面给个例子:
[x,y]=meshgrid(-2:.1:2); z=x.*exp(-x.^2-y.^2); [px,py]=gradient(z,.2,.2); figure contour(x,y,z); hold on quiver(x,y,px,py); hold off
[x,y]=meshgrid(-2:.1:2); z=x.*exp(-x.^2-y.^2); [px,py]=gradient(z,.2,.2); figure contour(x,y,z); hold on quiver(x,y,px,py); hold off
散度是单位体积的通量(即通量体密度) 其定义为:
直角坐标:
柱坐标:
球坐标:
高斯公式:
散度的体积分等于通量 matlab中内置divergence
div=divergence(x,y,z,u,v,w)
syms x y z real F=[cos(x+2*y),sin(x-2*y)]; g=divergence(F,[x y]); divF=matlabFunction(g); x=-2.5:0.1:2.5; [X,Y]=meshgrid(x); Fx=cos(X+2*Y); Fy=sin(X-2*Y); div_num=divF(X,Y); pcolor(X,Y,div_num); shading interp; colorbar hold on quiver(X,Y,Fx,Fy,'k','linewidth',1);
矢量场旋度用来描述围绕中心旋转的程度,定义为:
对于直角坐标系:
对于柱坐标:
对于球坐标:
matlab中用curl
函数
syms x y z real F=[cos(x+2*y),sin(x-2*y)]; G=curl([F,0],[x y z]) curlF=matlabFunction(G(3)); x=-2.5:0.1:2.5; [X,Y]=meshgrid(x); Fx=cos(X+2*Y); Fy=sin(X-2*Y); rot=curlF(X,Y); pcolor(X,Y,rot); shading interp; colorbar hold on quiver(X,Y,Fx,Fy,'k','linewidth',1);
定义:
矢量函数拉普拉斯变换:
syms x y z V=[x^2*y,y^2*z,z^2*x]; vars=[x y z]; gradient(divergence(V,vars))-curl(curl(V,vars),vars)
del2(U,hx,hy,hz...hn)
故del2
求出的是拉普拉斯运算的1/4
[x,y]=meshgrid(-5:0.25:5); U=1/3.*(x.^4+y.^4); h=0.25;%指定步长 L=4*del2(U,h); figure surf(x,y,L); grid on title('$\Delta U(x,y)=\frac{x^4+y^4}{3}$','Interpreter','latex'); xlabel('x') ylabel('y') zlabel('z')
转载地址:http://nzfma.baihongyu.com/