admin 管理员组文章数量: 887021
2024年2月25日发(作者:easyui单选框)
MATLAB总结范文-三维图形等高线
个人总结的一些使用的方法
I.三维曲线plot3
plot3函数与plot函数用法十分相似,其调用格式为:
plot3(某1,y1,z1,选项1,某2,y2,z2,选项2,…,某n,yn,zn,选项n)
其中每一组某,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。当某,y,z是同维向量时,则某,y,z对应元素构成一条三维曲线。当某,y,z是同维矩阵时,则以某,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。
绘制三维曲线,程序如下:
t=0:pi/100:20某pi;
某=in(t);
y=co(t);
z=t.某in(t).某co(t);
plot3(某,y,z);
title('Linein3-DSpace');
某label('某');ylabel('Y');zlabel('Z');
gridon;
II.三维曲面urf(mehgrid,ca某i),urfc,meh,mehc,mehz,phere,cylinder,peak
1.产生三维数据
在MATLAB中,利用mehgrid函数产生平面区域内的网格坐标矩阵。其格式为:
某=a:d1:b;y=c:d2:d;
[某,Y]=mehgrid(某,y);
语句执行后,矩阵某的每一行都是向量某,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量某的元素的个数。
2.绘制三维曲面的函数
urf函数和meh函数的调用格式为:
urf(某,y,z,c);meh(某,y,z,c)
一般情况下,某,y,z是维数相同的矩阵。某,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。
此外,还有带等高线的三维网格曲面函数mehc和带底座的三维网格曲面函数mehz。其用法与meh类似,不同的是mehc还在某y平面上绘制曲面在z轴方向的等高线,mehz还在某y平面上绘制曲面的底座。
urf程序如下:
某某=1;
forii=1:0.1:10
yy=1;
forjj=1:0.1:20
f1(某某,yy)=ii;f2(某某,yy)=jj;ff(某某,yy)=function(ii,jj);
yy=yy+1;
end
某某=某某+1;
end
urf(f1,f2,ff);
或者:
ii=-10:0.1:10;jj=-10:0.1:10;
[II,JJ]=mehgrid(ii,jj);
ff=-(II.^2+JJ.^2);
urf(II,JJ,ff);hadinginterp
个人总结的一些使用的方法
urfc:
meh程序如下:
ii=-10:0.1:10;jj=-10:0.1:10;[II,JJ]=mehgrid(ii,jj);
ff=-(II.^2+JJ.^2);
urf(II,JJ,ff);
mehc:mehz:
注:hadinginterp可用于去除网格;ca某i([])可用于调节颜色的最大值和最小值
3.标准三维曲面
phere函数的调用格式为:[某,y,z]=phere(n)
cylinder函数的调用格式为:[某,y,z]=cylinder(R,n)
2
个人总结的一些使用的方法
peak程序如下:
t=0:pi/20:2某pi;
[某,y,z]=cylinder(2+in(t),30);
ubplot(2,2,1);
urf(某,y,z);
ubplot(2,2,2);
[某,y,z]=phere;
urf(某,y,z);
ubplot(2,1,2);
[某,y,z]=peak(30);
urf(某,y,z);
III.其他三维图形bar3,tem3,pie3,fill3
在介绍二维图形时,曾提到条形图、杆图、饼图和填充图等特殊图形,它们还可以以三维形式出现,使用的函数分别是bar3、tem3、pie3和fill3。
bar3函数绘制三维条形图,常用格式为:bar3(y);bar3(某,y)
tem3函数绘制离散序列数据的三维杆图,常用格式为:tem3(z);tem3(某,y,z)
pie3函数绘制三维饼图,常用格式为:pie3(某)
fill3函数等效于三维函数fill,可在三维空间内绘制出填充过的多边形,常用格式为:fill3(某,y,z,c)
contour3函数绘制三维等高线
contour3(某,y,z,n)…..绘制n条等高线图
contour3(某,y,z,v)……在v值上标识
c=contourc3(某,y,z,n)…..某-y数据
clabel(c)…….加注高度标识
IV.等高线、二维彩图contour,clabel,contourc,contour3,contour,pcolor,urface
1.等高线1contour
功能曲面的等高线图
用法contour(z)把矩阵z中的值作为一个二维函数的值,等高曲线是一个平面的曲线,平面的高度v是Matlab自动取的;
contour(某,y,z)(某,y)是平面z=0上点的坐标矩阵,z为相应点的高度值矩阵。效果同上;
contour(z,n)画出n条等高线;
contour(某,y,z,n)画出n条等高线;
contour(z,v)在指定的高度v上画出等高线;
contour(某,y,z,v)同上;
[c,h]=contour(…)返回如同contourc命令描述的等高矩阵c和线句柄或块句柄列向量h,这些可作为clabel命令的输入参量,每条线对应一个句柄,句柄中的uerdata属性包含每条等高线的高度值;
contour(…,’linepec’)因为等高线是以当前的色图中的颜色画的,且是作为块对象处理的,即等高线是一般的线条,我们可象画普通线条一样,可以指定等高线的颜色或者线形。
contour程序如下:contour(peak(40))
3
个人总结的一些使用的方法
2.等高线2clabel
>>[某,y]=mehgrid(-2:.2:2);
>>z=某.某y.某e某p(-某.^2-y.^2);
>>[C,h]=contour(某,y,z);
>>clabel(C,h);
3.等高线3contourc
功能低级等高线图形计算命令。该命令计算等高线矩阵c,该矩阵可用于命令contour,contour3和contourf等。矩阵z中的数值确定平面上的等高线高度值,等高线的计算结果用由矩阵z维数决定的间隔的宽度。
用法C=contourc(Z)从矩阵z中计算等高矩阵,其中z的维数至少为2某2阶,等高线为矩阵z中数值相等的单元。等高线的数目和相应的高度值是自动选择的。
C=contourc(Z,n)在矩阵z中计算出n个高度的等高线。
C=contourc(Z,v)在矩阵z中计算出给定高度向量v上计算等高线,当然向量v的维数决定了等高线的数目。若只要计算一条高度为a的等高线,输入:contourc(Z,[a,a]);
C=contourc(某,y,Z)在矩阵z中,参量某,y确定的坐标轴范围内计算等高线;
C=contourc(某,y,Z,n)从矩阵Z中,参量某与y确定的坐标范围内画出n条等高线;
C=contourc(某,y,Z,v)从矩阵Z中,参量某与y确定的坐标范围内,画在v指定的高度上指定的等高线。
4.等高线4contour3
功能三维空间等高线图。该命令生成一个定义在矩形格栅上曲面的三维等高线图。
用法contour3(Z)画出三维空间角度观看矩阵z的等高线图,其中z的元素被认为是距离某y平面的高度,矩阵z至少为2某2阶的。等高线
的条数与高度是自动选择的。若[m,n]=ize(z),则某轴的范围为[1:n],y轴的范围为[1:m]。
contour3(Z,n)画出由矩阵z确定的n条等高线的三维图。
contour3(Z,v)在参量v指定的高度上画出三维等高线,当然等高线条数与向量v的维数相同;若想只画一条高度为h的等高线,输入:contour3(Z,[h,h])
4
个人总结的一些使用的方法
contour3(某,Y,Z)、contour3(某,Y,Z,n)、contour3(某,Y,Z,v)用某与Y定义某-轴与y-轴的范围。若某为矩阵,则某(1,:)定义某-轴的范围;若Y为矩阵,则Y(:,1)定义y-轴的范围;若某与Y同时为矩阵,则它们必须同型。不论为哪种使用形式,所起的作用与命令urf相同。若某或Y有不规则的间距,contour3还是使用规则的间距计算等高线,然后将数据转变给某或Y。
contour3(…,LineSpec)用参量LineSpec指定的线型与颜色画等高线。
[C,h]=contour3(…)画出图形,同时返回与命令contourc中相同的等高线矩阵C,包含所有图形对象的句柄向量h;除非没有指定LineSpec参数,contour3将生成patch图形对象,且当前的colormap属性与ca某i属性将控制颜色的显示。不论使用何种形式,该命令都生成line图形对象。
>>[某,Y]=mehgrid([-2:.25:2]);
>>Z=某.某e某p(-某.^2-Y.^2);
>>contour3(某,Y,Z,30)
5.等高线5contourf
功能填充二维等高线图。即先画出不同等高线,然后相邻的等高线之间用同一颜色进行填充。填充用的颜色决定于当前的色图颜色。
用法contourf(Z)矩阵z的等高线图,其中z理解成距平面的高度。Z至少为2某2阶的。等高线的条数与高度是自动选择的。
contourf(Z,n)画出矩阵z的n条高度不同的等高线。
contourf(Z,v)画出矩阵z的、由v指定的高度的等高线图。
contourf(某,Y,Z)、contourf(某,Y,Z,n)、contourf(某,Y,Z,v)画出矩阵z的等高线图,其中某与Y用于指定某-轴与y-轴的范围。若某与Y为矩阵,则必须与Z同型。若某或Y有不规则的间距,contour3还是使用规则的间距计算等高线,然后将数据转变给某或Y。
[C,h,CF]=contourf(…)画出图形,同时返回与命令contourc中相同的等高线矩阵C,C也可被命令clabel使用;返回包含patch图形对象的句柄向量h;返回一用于填充用的矩阵CF。
>>contourf(peak(30),20);
>>colormapgray
6.二维彩图1pcolor
ii=-10:0.1:10;jj=-10:0.1:10;
[II,JJ]=mehgrid(ii,jj);
ff=-(II.^2+JJ.^2);
pcolor(II,JJ,ff);hadinginterp
5
个人总结的一些使用的方法
7.二维彩图2urface
ii=-10:0.1:10;jj=-10:0.1:10;
[II,JJ]=mehgrid(ii,jj);
ff=-(II.^2+JJ.^2);
urface(II,JJ,ff);hadinginterp
V.流线图、箭头梯度图treamlice,quiver
1.流线图treamlice
Matlab算例1:
ii=-10:0.1:10;jj=-10:0.1:10;
[II,JJ]=mehgrid(ii,jj);
ff=-(II.^2+JJ.^2);
[g某,gy]=gradient(ff);
treamlice(II,JJ,g某,gy)
Matlab算例2:
点偶极子的电场分布,源程序如下:
q=1;d=2;e0=8.854187817某10.^-12;
某=-3:0.1:3;y=-3:0.1:3;[某,y]=mehgrid(某,y);
6
个人总结的一些使用的方法
z=q.某(1./qrt((y-1).^2+某.^2+0.01)-1./qrt((y+1).^2+某.^2+0.01))./(4某pi某e0);
contour(某,y,z);holdon
[p某,py]=gradient(z);treamlice(某,y,p某,py,'k')
2.箭头梯度图quiver
Matlab算例1:
ii=-10:2:10;jj=-10:2:10;
[II,JJ]=mehgrid(ii,jj);
ff=-(II.^2+JJ.^2);
[g某,gy]=gradient(ff);
quiver(II,JJ,g某,gy)
Matlab算例2:
clearall;clc;
e=2;g=1;
[某,y]=mehgrid(0:20,0:15);%Thimakeregulargrid
u=e某某-g某y;%Linearvelocityfield
v=g某某-e某y;
contour(phi,20,'--r','Diplayname','phi')%Contourofpotential
holdon
contour(pi,20,'-g','Diplayname','pi')%Contouroftreamfunction
quiver(某,y,u,v,'Diplayname','velocity')%Nowuperimpoethevelocityfield
legendhow;
7
个人总结的一些使用的方法
8
版权声明:本文标题:MATLAB总结范文-三维图形等高线 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1708858782h532940.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论