求matlab中 quiver函数的用法。我要画uv风矢量,但uv数组是2维的,x,y该怎么设置?我想截取一段区域画
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求matlab中 quiver函数的用法。我要画uv风矢量,但uv数组是2维的,x,y该怎么设置?我想截取一段区域画相关的知识,希望对你有一定的参考价值。
x=1:5;y=1:4;
[xx,yy]=meshgrid(x,y);
u=xx; %这个由你的函数给定
v=yy; %这个也是由你的函数给定。
quiver(xx,yy,u,v)
就可以了。
如果截取的话:
m=[1,3,4]; %只取1,3,4行
n=[2,3]; %取2,3列
xxx=xx(m,n);
yyy=yy(m,n);
uuu=u(m,n);
vvv=v(m.n);
再quiver(xxx,yyy,uuu,vvv) 参考技术A 凄风苦雨
matlab如何画三维向量场
希望整个场都画出来,
在线等
用matlab绘制三维向量场,可以使用quiver3函数来完成。如z = y^2 - x^2的三维向量场
x =-3:0.5:3;
y =-3:0.5:3;
[X,Y] = meshgrid(x, y);
Z = Y.^2 - X.^2;
[U,V,W] = surfnorm(Z);
figure(1)
quiver3(Z,U,V,W)
view(-35,45)
xlabel('x'),ylabel('y'),zlabel('z')
追问谢谢您的及时回答,
在MATLAB里面,
如果是一个二维网格,确实可以用quiver3命令画函数算出来的表面法向。但是我的数据是离散的。
但是我的三维矢量U(i,j,k),V(i,j,k),W(i,j,k)按照i,j,k下标存在r(i,jk)数组里面. 如何画出矢量场的图形?
maple里面能不能把plot3d,或者vectorplot命令直接转换成为MATLAB命令?
我调试程序经常需要来回转换
如果数据是离散的,可以先考虑用拟合的方法求出其三维数学函数,然后再做矢量场的图形。
maple里面能不能把plot3d,或者vectorplot命令直接转换成为MATLAB命令?这个手上没有maple这个软件,所以不能确定。
三维空间点子太多,拟合不方便,有没有直接画的命令
追答这个要看你的数据结构是怎样的?如果是表式结果的话,是可以用quiver3函数的。
x =-3:1:3;
y =-3:1:3;
Z =[ 0 5 8 9 8 5 0
-5 0 3 4 3 0 -5
-8 -3 0 1 0 -3 -8
-9 -4 -1 0 -1 -4 -9
-8 -3 0 1 0 -3 -8
-5 0 3 4 3 0 -5
0 5 8 9 8 5 0];
[U,V,W] = surfnorm(Z);
figure(1)
quiver3(Z,U,V,W);
view(-35,45)
xlabel('x'),ylabel('y'),zlabel('z')
field := plot::VectorField3d([1, sin(x) + cos(y), sin(z)], x = 0..6, y = 0..2.5, z = 0..5, Mesh = [7, 7, 7]):plot(field):
运行2014-a
出错信息:未定义与 'char' 类型的输入参数相对应的函数 'field'。
n=20;
[x,y,z]=meshgrid(linspace(-1,1,n));
r=x.^2+y.^2+z.^2;
[vx,vy,vz]=gradient(r);
quiver3(x(r<1),y(r<1),z(r<1),vx(r<1),vy(r<1),vz(r<1))
以上是关于求matlab中 quiver函数的用法。我要画uv风矢量,但uv数组是2维的,x,y该怎么设置?我想截取一段区域画的主要内容,如果未能解决你的问题,请参考以下文章