百度
360搜索
搜狗搜索

meshgrid举例,画二元函数图像详细介绍

本文目录一览: matlab meshgrid有什么用?mesh之前必须用吗?

不一定,meshgrid只是将图像网格化,其实mesh命令就能实现你要的图像
meshgrid可以对坐标范围进行设置
下面是matlab的解释
For example, to evaluate the function x*exp(-x^2-y^2) over the
range -2 < x < 2, -2 < y < 2,
[X,Y] = meshgrid(-2:.2:2, -2:.2:2);
Z = X .* exp(-X.^2 - Y.^2);
mesh(Z)
meshgrid 的使用方法:
[X,Y] = meshgrid(x,y) 将向量x和y定义的区域转换成矩阵X和Y,这两个矩阵可以用来表示mesh和surf的三维空间点以及两个变量的赋值。其中矩阵X的行向量是向量x的简单复制,而矩阵Y的列向量是向量y的简单复制。
详细解释:help meshgrid
meshgrid用于从数组a和b产生网格。生成的网格矩阵A和B大小是相同的。它也可以是更高维的。
[A,B]=Meshgrid(a,b)
生成size(b)Xsize(a)大小的矩阵A和B。它相当于a从一行重复增加到size(b)行,把b转置成一列再重复增加到size(a)列。因此命令等效于:
A=ones(size(b))*a;
B=b'*ones(size(a))
如下所示:
>> a=[1:2]
a =
1 2
>> b=[3:5]
b =
3 4 5
>> [A,B]=meshgrid(a,b)
A =
1 2
1 2
1 2
B =
3 3
4 4
5 5
>> [B,A]=meshgrid(b,a)
B =
3 4 5
3 4 5
A =
1 1 1
2 2 2
不是在mesh前面必须使用的
meshgrid生成网格矩阵,并非mesh之前必须的。
举例:
下面我们绘制sin(r)/r函数的图形.建立图形用以下方法:
x=-8:.5:8;
y=x';
x=ones(size(y))*x;
y=y*ones(size(y))';
R=sqrt(x.^2+y.^2)+eps;
z=sin(R)./R;
mesh(z)
各语句的意义是:首先建立行向量x,列向量y;然后按向量的长度建立1-矩阵;用向量乘以产生的1-矩阵,生成网格矩阵,它们的值对应于x-y坐标平面;接下来计算各网格点的半径;最后计算函数值矩阵Z.用mesh函数即可以得到图形.
上面的前四行可以用[x, y]=meshgrid(-8:0.5:8)来代替,这就是meshgrid的作用。

matlab如何画指定等值线

  clabel可以指定标注等值线的数值。clabel(C,'manual'),是要标注的内容,'manual'就是人工标注。一般结合contour使用,contour(X,Y,Z,Vector),XYZ为对应的横纵坐标,Z为高度,Vector如果输入向量[1 3 7],则显示Z 等于1 3 7的三圈等值线,如果是一个数6,会将最大值和最小值之间均匀的划分六分,画6条等值线。具体代码如下:
  官方解释:clabel(C,'manual') placescontour labels at locations you select with a mouse. Click the mouseor press the space bar to label the contour closest to the centerof the crosshair. Press the Return key while thecursor is within the figure window to terminate labeling.
  举例说明:
x=0:0.07:1;y=0:0.07:1;[X1,Y1]=meshgrid(x,y);Z1=0.001./((X1-0.5).^2+(Y1-0.5).^2);
[C,h]=contour(X1,Y1,Z1,[1 3 7]);axis([0.4 0.6 0.4 0.6]);clabel(C,'manual');
结果运行上面代码可以看到手工标注(最近百度知道出问题了,不能上传图片)
x = linspace(-2*pi,2*pi);y = linspace(0,4*pi);[X,Y] = meshgrid(x,y);Z = sin(X)+cos(Y);figurecontour(X,Y,Z)其他用法,请在matlab中输入
help contour
举个例子
[x,y]=meshgrid(linspace(-2,2));
z=sin(x)+exp(y);
contour(x,y,z,[3 3],'ShowText','on');
contour(A,[3.0])
matlab如何画指定等值线用contour函数的'LevelList'属性来控制。
绘制幅度为5的等值线,如下例子。
x=[129 140 103.5 88 185.5 195 105.5 157.5 107.5 77 81 162 162 117.5];y=[7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84 -33.5];z=[4 8 6 8 6 8 8 9 9 8 8 9 4 9];[X,Y]=meshgrid(75:200,-50:150);Z = griddata(x,y,z,X,Y);[c,h]=contour(X,Y,Z,'LevelList',[5.0]);clabel(c,h);grid,xlabel('x-axis'),ylabel('y-axis')结果如下:

求用matlab制作简单动画实例

Speed = 1; %数字越大越快W = ones(40);B = zeros(40);P1 = [B W];P1 = repmat(P1,1,10);P2 = [W B];P2 = repmat(P2,1,10);P = [P1;P2];P = repmat(P,8,1);imshow(P)drawnow;pause(2/Speed);f = 1;tic;while f t = toc; if t >= 30 f = 0; end Pn = P; Pn(P==1) = rand(1); Pn(P==0) = rand(1); Pn(1,1) = 1; imagesc(Pn); axis equal; colormap jet; drawnow; pause(2/Speed);end看看满意不
具体制作方法如下:
1、首先,这里举例代码如下:
x=-8:0.5:8;
[XX,YY]=meshgrid(x);
r=sqrt(XX.^2+YY.^2)+eps;
Z=sin(r)./r;
surf(Z);
生成了一幅静态的surf图片,XX,YY由meshgrid生成。
2、下面输入
theAxes=axis;,
右侧可以看到,theAxes=[0,40,0,40,-0.5,1],这是surf函数生成的,因为上面绘制的surf没有使用surf(XX,YY,Z)所以坐标范围不同,但是无论什么坐标范围,这里都先取出来,存到一个变量中,后面备用。
3、fmat=moviein(20);
将fmat保存为一个moviein结构体,20表示动画有20帧。
4、输入:
for j=1:20;
surf(sin(2*pi*j/20)*Z,Z)
axis(theAxes)
fmat(:,j)=getframe;
end
这里就是分别画每一帧的图像,此处我们的surf是分20份来画,坐标轴统一为之前的保存的坐标轴,把moviein结构体fmat的取为getframe,如图。
5、movie(fmat,10);就是动画放10遍。
6、全代码如下:
x=-8:0.5:8;
[XX,YY]=meshgrid(x);
r=sqrt(XX.^2+YY.^2)+eps;
Z=sin(r)./r;
surf(Z);
theAxes=axis;
fmat=moviein(20);
for j=1:20;
surf(sin(2*pi*j/20)*Z,Z)
axis(theAxes)
fmat(:,j)=getframe;
end
movie(fmat,10)

matlab中用什么命令作三维的图形?具体怎么用?举例说明

plot3函数——绘制三维曲线
格式:plot3(x1,y1,z1,s1,x2,y2,z2,s2,…)%其中sn是字符串,用于指定颜色、标记符号或线型。
t=0:0.1:3*pi;
x=t.^3.*sin(3*t).*exp(-t);
y=t.^3.*cos(3*t).*exp(-t);
z=t.^2;
plot3(x,y,z)
grid
on
2.
绘制三维曲面
格式
[x,y]=meshgrid(v1,v2)
%生成网格数据
z=…
%计算二元函数的z矩阵
surf(x,y,z)或mesh(x,y,z)%surf绘制表面图,mesh绘制网格图
例如
绘制马鞍面
[x,y]=meshgrid(-4:0.1:4);
z=(x.^2)/4-(y.^2)/9;
surf(x,y,z)

阅读更多 >>>  用matlab画小人发射爱心(用matlab画一个爱心)

画二元函数图像

二元函数可以用mesh或者surf函数画图。
下面举例说明:
[x,y]=meshgrid(-8:.5:8);
z=sqrt(x.^2
+
y.^2);
mesh(x,y,z)
图像如下:
觉得有帮助就采纳吧。

matlab中sphere函数 [X,Y,Z]=sphere(30); 其中30代表什么?

如果不理解,那你可以做一个sphere(3)看看就明白了。得到的是4*4的X,Y,Z,但是他们描述的点有多少个呢?描述的点不是中心对称的,而是关于平行于z轴的中轴线对称的点。给你个图看看先:
这就是sphere(3),从上到下有四组点,所以构成3层。然后,又像切西瓜一样,从顶到底切了三刀,这样就构成了3*3个面,明白了没?
matlab中sphere函数 [X,Y,Z]=sphere(30),其中参数30表示球面沿着经度、纬度方向被分成的面片数。matlab中函数说明如下:[X,Y,Z] = SPHERE(N) generates three (N+1)-by-(N+1) matrices so that SURF(X,Y,Z) produces a unit sphere.
SPHERE(N)产生3个N+1行N+1列的矩阵,用以绘制球面,也就是一共N*N个面片组成。
举例如下:
>> [X,Y,Z] = SPHERE(10);
>> mesh(X,Y,Z)

已知三十个地区的经纬度,用matlab怎么编程三十个地区两两之间的距离?

直接用MATLAB地图工具箱(Mapping Toolbox)的distance函数就可以了,例如(为方便举例,这里只设置了4个点,30个点同样处理):
% 已知各点的经纬度(依次为京沪津渝四地)pts = [ ... 116.46 39.92; 121.48 31.22; 117.20 39.13; 106.54 29.59 ];% 形成两两之间对应的矩阵(对称阵,可以只看上三角或下三角)[LA1,LA2]=meshgrid(pts(:,2));[LO1,LO2]=meshgrid(pts(:,1));% 计算两两之间的距离,单位为公里R = distance(LA1,LO1,LA2,LO2,almanac('earth','wgs84'));这里地球模型是采用的WGS84参考椭球,也可以改用其它参考椭球,具体可参考almanac函数。
得到的结果为
>> num2str(R,'%10.2f')ans = 0.00 1066.68 108.36 1460.161066.68 0.00 959.95 1445.81 108.36 959.95 0.00 1440.611460.16 1445.81 1440.61 0.00
直接用MATLAB地图工具箱(Mapping Toolbox)的distance函数就可以了,例如(为方便举例,这里只设置了4个点,30个点同样处理):
已知各点的经纬度(依次为京沪津渝四地)
pts = [ ...
116.46 39.92;
121.48 31.22;
117.20 39.13;
106.54 29.59形成两两之间对应的矩阵(对称阵,可以只看上三角或下三角)
[LA1,LA2]=meshgrid(pts(:,2));
[LO1,LO2]=meshgrid(pts(:,1));计算两两之间的距离,单位为公里
R = distance(LA1,LO1,LA2,LO2,almanac('earth','wgs84'));这里地球模型是采用的WGS84
考椭球,也可以改用其它参考椭球,具体可参考almanac函数。
得到的结果为
>> num2str(R,'%10.2f')
ans =
0.00 1066.68 108.36 1460.16
1066.68 0.00 959.95 1445.81
108.36 959.95 0.00 1440.61
1460.16 1445.81 1440.61 0.00
如下图所示,打开软件后点击File/New/Script后,会出现文件编辑窗口:
在文件编辑窗口输入代码,如下图所示:
检查代码,确保没有错误后点击窗口中运行(Run)按钮,运行程序(如下图红色箭头所示按钮):
查看运行结果,由于利用plot函数绘制曲线,所以运行后出现如下红色箭头所指的二次曲线:

matlab 中如何更改三维坐标z轴取值范围。axis只能改x.y

可以使用下列格式,来更改三维坐标取值范围。
axis([xmin xmax ymin ymax zmin zmax])
如:axis([-30 10 0 0.8 0 6])
如:axis([-35 15 -0.5 1 -1 8])
axis()函数可以接受6个参数,分别是x,y,z坐标的范围:
axis([XMIN XMAX YMIN YMAX ZMIN ZMAX])举例如下:
>> [x,y]=meshgrid(0:0.05*pi:pi);>> mesh(x,y,sin(x+y)) % z轴默认范围-1~1>> axis([0,4,0,4,-2,2]) % 修改z轴范围为-2~2效果如下:
可以使用下列格式,来更改三维坐标取值范围。
axis([xmin xmax ymin ymax zmin zmax])
例如:
>> x = 1:10;
>> subplot(2,1,1) % 默认范围
>> plot(x,x.^2)
>> subplot(2,1,2) % 设置x范围[0,12],y任意
>> plot(x,x.^2,'r')
>> axis([0 12,-inf,inf])
扩展资料:
圆柱坐标(ρ,θ,z)是.圆柱坐标系上的点的表达式。设P(x,y,z)为空间内一点,则点P也可用这样三个有次序的数ρ,θ,z来确定,其中ρ为点P在xoy平面的投影M与原点的距离,θ为有向线段PO在xoy平面的投影MO与x轴正向所夹的角。圆柱坐标系和三维笛卡尔坐标系的点的坐标的对应关系是,x=ρcosθ,y=ρsinθ,z=z。
参考资料来源:百度百科-三维坐标

第七题怎么做?(MATLAB)需要详细解答步骤,必采纳!!!谢谢

带底座的三维图用meshz,带等高线的用meshc(更简单一点可以用ezmeshc)。
第(1)小题需要给定a、b的值。
举例:
[x,y]=meshgrid(-1:.1:1);z=x.*y;meshz(x,y,z)
ezmeshc('sin(x*y)',[-2 2])

网站数据信息

"meshgrid举例,画二元函数图像"浏览人数已经达到21次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:meshgrid举例,画二元函数图像的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!