MATLAB数学建模与仿真(第2版·微课视频版)程序代码 第4章-图形图像_第1页
MATLAB数学建模与仿真(第2版·微课视频版)程序代码 第4章-图形图像_第2页
MATLAB数学建模与仿真(第2版·微课视频版)程序代码 第4章-图形图像_第3页
MATLAB数学建模与仿真(第2版·微课视频版)程序代码 第4章-图形图像_第4页
MATLAB数学建模与仿真(第2版·微课视频版)程序代码 第4章-图形图像_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【例4-1】画线函数line使用实例。利用函数line绘制y=sinx的图形。>>x=0:0.4*pi:2*pi;>>y=sin(x);>>line(x,y) 运行以上程序代码后,得到如图4-1所示的图形。图4-1line函数画线【例4-2】semilogx函数举例。>>x=0.1:10;>>y=2*x+3;>>semilogy(x,y);运行以上程序代码后,得到如图4-2的图形。图4-2semilogy举例【例4-3】plot函数举例。>>x=linspace(0,2*pi,100);%100个点的x坐标>>y=sin(x);%对应的y坐标>>plot(x,y);运行以上程序代码后,得到如图4-3所示的图形。图4-3正弦曲线【例4-4】绘制正弦和余弦曲线>>x=linspace(0,2*pi,100);%100个点的x坐标>>y=sin(x);%对应的y坐标>>plot(x,sin(x),x,cos(x));运行以上程序代码后,得到如图4-4所示的图形:图4-4两条曲线【例4-5】绘制改变颜色的曲线>>x=linspace(0,2*pi,100);%100个点的x坐标>>y=sin(x);%对应的y坐标>>plot(x,sin(x),'c',x,cos(x),'g');运行以上程序代码后,得到如图4-5所示的图形。图4-5改变颜色后的线条【例4-6】改变颜色和线条形态>>x=linspace(0,2*pi,100);%100个点的x坐标>>y=sin(x);%对应的y坐标>>plot(x,sin(x),'co',x,cos(x),'g*');运行以上程序代码后,得到如图4-6所示的图形。图4-6同时改变颜色和线条形态的曲线【例4-7】plotyy函数曲线>>x1=0:pi/100:2*pi;>>x2=0:pi/100:3*pi;>>y1=2*exp(-0.5*x1).*sin(2*pi*x1);>>y2=1.5*exp(-0.1*x2).*sin(x2);>>plotyy(x1,y1,x2,y2);运行以上程序代码后,得到如图4-7所示的图形:图4-7plotyy函数举例【【例4-8】绘制axis函数曲线>>x=linspace(0,2*pi,100);%100个点的x坐标>>y=sin(x);%对应的y坐标>>plot(x,sin(x),'co',x,cos(x),'g*');>>axis([0,6,-1.2,1.2]);运行以上程序代码后,得到如图4-8所示的图形:图4-8axis函数举例【例4-9】绘制带注释的图形>>x=linspace(0,2*pi,100);%100个点的x坐标>>y=sin(x);%对应的y坐标>>plot(x,sin(x),'co',x,cos(x),'g*');>>xlabel('InputValue');%x轴注解>>ylabel('FunctionValue');%y轴注解>>title('TwoTrigonometricFunctions');%图形标题>>legend('y=sin(x)','y=cos(x)');%图形注解>>gridon;%显示格线运行以上程序代码后,得到如图4-9所示的图形。图4-9带注释的图形【例4-10】绘制subplot函数曲线解:在命令窗口输入以下命令:>>subplot(2,2,1);plot(x,sin(x));>>subplot(2,2,2);plot(x,cos(x));>>subplot(2,2,3);plot(x,sinh(x));>>subplot(2,2,4);plot(x,cosh(x));运行以上程序代码后,得到如图4-10的图形:图4-10subplot函数举例【例4-11】绘制分组直方图。>>y=[5329;4727;1573];>>plot(2,2),bar(y)其图形显示如图4-11所示。图4-11直方图【例4-12】绘制直方图。>>x=1:10;>>y=rand(size(x));>>bar(x,y);绘制结果如图4-12所示。图4-12直方图【例4-13】利用fplot函数精确绘图。>>fplot(@(x)sin(1./x),[0.020.2]);%[0.020.2]是绘图范围绘图结果如图4-13所示。图4-13fplot比较精确的图【例4-14】绘制polar函数图形。>>theta=linspace(0,2*pi);>>r=cos(4*theta);>>polar(theta,r); 绘图结果如图4-14所示。图4-14polar函数绘制的图形【例4-15】绘制梯形图。>>x=linspace(0,10,50);>>y=sin(x).*exp(-x/3);>>stairs(x,y);绘图结果如图4-15所示。图4-15阶梯图【例4-16】绘制涂色图。>>x=linspace(0,10,50);>>y=sin(x).*exp(-x/3);>>fill(x,y,'b');%'b'为蓝色绘图结果如图4-16所示。图4-16涂色图【例4-17】feather函数绘图示例一。>>x=1:0.01:20;>>feather(x)绘图结果如图4-17所示。图4-17feather函数示例一【例4-18】feather函数绘图示例二。>>theta=linspace(0,2*pi,20);>>z=cos(theta)+i*sin(theta);>>feather(z);绘图结果如图4-18所示。图4-18feather函数示例二【例4-19】绘制compass函数图形。>>theta=linspace(0,2*pi,20);>>z=cos(theta)+i*sin(theta);>>compass(z);绘图结果如图4-19所示。图4-19compass函数绘制的图形【例4-20】绘制三维曲线示例1。>>x=0:pi/50:10*pi;>>y=sin(x);

>>z=cos(x);

>>plot3(x,y,z);其图形如图4-20所示。图4-20三维曲线示例1【例4-21】绘制三维示例2。>>x=linspace(0,pi+pi/6,30)%[0,pi+pi/6]等分30个数据点,行x的30个数据点>>y=[1234567]%列y的值,表示绘制7条曲线>>temp=zeros(1,length(x))>>z=sin(x/2)>>fori=1:length(y)>>y1=y(i)+temp>>plot3(x,y1,z)>>gridon>>holdon绘制结果如图4-21所示。图4-21三维曲线示例2【例4-22】画出单位矩阵的网格图。>>a=eye(20);>>mesh(a)其图形如图4-22所示。图4-22mesh函数举例【例4-23】画出由函数z=xe-(x>>x=linspace(-2,2,25);%在x轴上取25点>>y=linspace(-2,2,25);%在y轴上取25点>>[xx,yy]=meshgrid(x,y);%xx和yy都是25x25的矩阵>>zz=xx.*exp(-xx.^2-yy.^2);%计算函数值,zz也是21x21的矩阵>>mesh(xx,yy,zz);%画出立体网状图绘图结果如图4-23所示。图4-23立体网状图【例4-24】画出立体曲面图示例一。>>[X,Y]=meshgrid([-4:0.5:4]);>>Z=sqrt(X.^2+Y.^2);>>surf(Z)其图形如图4-24所示。图4-24立体曲面图示例一【例4-25】画出立体曲面图示例二。>>x=linspace(-2,2,25);%在x轴上取25点>>y=linspace(-2,2,25);%在y轴上取25点>>[xx,yy]=meshgrid(x,y);%xx和yy都是25x25的矩阵>>zz=xx.*exp(-xx.^2-yy.^2);%计算函数值,zz也是25x25的矩阵>>surf(xx,yy,zz);%画出立体曲面图其图形如图4-25所示。图4-25立体曲面图示例二【例4-26】绘制peaks函数的图形。peaksz=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)-1/3*exp(-(x+1).^2-y.^2)绘制的图形如图4-26所示。图4-26peaks函数的图形【例4-27】加围裙的图形。>>[x,y,z]=peaks;>>meshz(x,y,z);绘制的图形如图4-27所示。图4-27加“围裙”的图形【例4-28】画x方向水流效果图。>>[x,y,z]=peaks;>>waterfall(x,y,z);绘制的图形如图4-28所示。图4-28x方向产生水流效果【例4-29】画y方向水流效果图。>>[x,y,z]=peaks;>>waterfall(x',y',z');绘制的图形如图4-29所示。图4-29y方向产生水流效果【例4-30】同时绘制网状图和等高线>>[x,y,z]=peaks;>>meshc(x,y,z);绘制的图形如图4-30所示。图4-30网状图与等高线【例4-31】同时绘制曲面图和等高线>>[x,y,z]=peaks;>>surfc(x,y,z);绘制的图形如图4-31所示。图4-31曲面图与等高线【例4-32】画出三维空间中的等高线>>contour3(peaks,20);绘制的图形如图4-32所示。图4-32三度空间的等高线【例4-33】绘制等高线在XY平面的投影>>contour(peaks,20);绘制的图形如图4-33所示。图4-33等高线在XY平面的投影【例4-34】绘制三维空间的曲线>>t=linspace(0,20*pi,501);>>plot3(t.*sin(t),t.*cos(t),t);绘制的图形如图4-34所示。图4-34三维空间中的曲线【例4-35】绘制两条三度空间的曲线>>t=linspace(0,10*pi,501);>>plot3(t.*sin(t),t.*cos(t),t,t.*sin(t),t.*cos(t),-t);绘制的图形如图4-35所示。图4-35两条三维空间中的曲线【例4-36】绘制饼图pie3([2,3,4])%2/(2+3+4)=0.22,3/(2+3+4)=0.33,4/(2+3+4)=0.44绘制的图形如图4-36所示。图4-36三维饼图【例4-37】绘制柱面图>>cylinder([2,3,4,5])绘制的图形如图4-37所示。图4-37柱面图【例4-38】绘制球面图>>sphere(20)绘制的图形如图4-38所示。图4-38球面图【例4-39】axis函数举例>>x=0:.025:pi/2;>>plot(x,exp(x).*sin(2*x),'-m<')>>axis([0pi/205])图形结果为图4-39。图4-39axis函数举例【例4-40】hidden函数举例>>mesh(peaks)>>hiddenoff图形结果为图4-40。图4-40hidden函数举例【例4-41】shading函数举例>>sphere(16)>>axissquare>>shadingflat>>title('FlatShading')图形结果为图4-41。图4-41shading函数举例【例4-42】caxis函数举例>>[X,Y,Z]=sphere;>>C=Z;surf(X,Y,Z,C)>>caxis([-13])图形结果为图4-42。图4-42caxis函数举例【例4-43】view函数举例>>peaks;>>az=0;el=90;>>view(az,el)图形结果为图4-43。图4-43view函数举例【例4-44】surfnorm函数举例>>[x,y,z]=cylinder(1:10);>>surfnorm(y,x,z)>>axis([-1212-1212-0.11])图形结果为图4-44。图4-44surfnorm函数举例【例4-45】在同一坐标内,绘出两条函数曲线并有图解注释。>>x=0:0.2:12;>>plot(x,sin(x),'-',x,1.5*cos(x),':');>>legend('First','Second');程序运行的结果如图4-45所示:图4-45带图例注释的图【例4-46】图形执行hold命令>>x=linspace(0,2*pi,30);>>y=sin(x);>>plot(x,y)先画好一个图形,然后用下述命令增加cos(x)的图形。>>holdon>>z=cos(x);plot(x,z)>>holdoff执行结果如图4-46所示。图4-46执行holdon后的图形【例4-47】为图形添加网格线>>x=linspace(0,2*pi,30);>>y=sin(x);>>plot(x,y)>>gridon执行结果如图4-47所示。图4-47加了网格线的图【例4-48】分割图形窗口>>subplot(2,1,1);>>x=linspace(0,10);>>y1=sin(x);>>plot(x,y1)>>subplot(2,1,2);>>y2=sin(5*x);>>plot(x,y2)执行结果如图4-48所示。图4-48图形窗口的分割【例4-49】实现图像的显示块操作I=imread('cameraman.tif')I2=blkproc(I,[88],'std2(x)*ones(size(x))')imshow(I)figure,imshow(I2,[])执行结果如图4-54所示。图4-54图像的显示块操作【例4-50】计算二进制图像的面积BW=imread('circles.png');imshow(BW);bwarea(BW)ans=1.4187e+04执行结果如图4-55所示。图4-55二进制图像【例4-51】填充二进制图像的背景色BW4=im2bw(imread('coins.png'));BW5=bwfill(BW4,'holes');subplot(121),imshow(BW4),title('源图像二值化')subplot(122),imshow(BW5),title('填充后的图像')执行结果如图4-56所示。图4-56填充二进制图像的背景色【例4-52】提取二进制图像的轮廓bw=imread('cameraman.tif');se=strel('line',11,90);bw2=imdilate(bw,se);imshow(bw),title('Original')figure,imshow(bw2),title('Dilated')图4-57二进制图像轮廓的提取【例4-53】计算二进制图像中对象的周长BW1=imread('circbw.tif');BW2=bwperim(BW1,8);imshow(BW1)figure,imshow(BW2)执行结果如图4-58所示。图4-58二进制图像中对象的周长【例4-54】识别强度图像中的边界I=imread('cameraman.tif');BW1=edge(I,'prewitt');BW2=edge(I,'canny');imshow(BW1);figure,imshow(BW2)执行结果如图4-59所示。图4-59图像边界的识别【例4-55】弱化二进制图像的边界originalBW=imread('text.png');>>se=strel('line',11,90);>>erodedBW=imerode(originalBW,se);>>figureimshow(originalBW)>>figureimshow(erodedBW)执行结果如图4-60所示。图4-60二进制图像边界的弱化【例4-56】二维快速傅里叶变换loadimdemossaturn2imshow(saturn2)执行结果如图4-61所示。图4-61快速傅里叶变换B=fftshift(fft2(saturn2));imshow(log(abs(B)),[]),colormap(jet(64)),colorbar执行结果如图4-62所示。图4-62二维快速傅里叶变换【例4-57】计算二维频率响应Hd=zeros(16,16);Hd(5:12,5:12)=1;Hd(7:10,7:10)=0;h=fwind1(Hd,bartlett(16));colormap(jet(64))freqz2(h,[3232]);axis([-11-1101])执行结果如图4-63所示。图4-63二维频率响应的就算【例4-58】创建预定义过滤器I=imread('cameraman.tif');h=fspecial('unsharp',0.5);I2=filter2(h,I)/255;imshow(I)figure,imshow(I2)执行结果如图4-64所示。图4-64预定义过滤器【例4-59】用柱状图均等化增强对比I=imread('tire.tif');J=histeq(I);imshow(I)figure,imshow(J)执行结果如图4-65所示。图4-65用柱状图均等化增强对比imhist(I,64)figure;imhist(J,64)执行结果如图4-66所示。图4-66用柱状图均等化增强对比【例4-60】转换图像为二进制图像loadtreesBW=im2bw(X,map,0.4);imshow(X,map)figure,imshow(BW)执行结果如图4-67所示。图4-67转换图像为二进制图像【例4-61】调整图像灰度值或颜色映像表I=imread('pout.tif');J=imadjust(I,[0.30.7],[]);imshow(I)figure,imshow(J)执行结果如图4-68所示。图4-68调整图像灰度值【例4-62】创建图像数据的轮廓图I=imread('cameraman.tif');imcontour(I,3)执行结果如图4-69所示。图4-69图像数据的轮廓图【例4-63】剪切图像I=imread('cameraman.tif');I2=imcrop(I,[604010090]);imshow(I)figure,imshow(I2)执行结果如4-70所示。图4-70图像的剪切【例4-64】显示图像数据的柱状图I=imread('pout.tif');imhist(I)执行结果如图4-71所示。图4-71图像数据的柱状图显示【例4-65】增加图像的渲染效果I=imread('eight.tif');J=imnoise(I,'salt&pepper',0.02);imshow(I)figure,imshow(J)执行结果如图4-72所示。图4-72图像的渲染效果【例4-66】旋转图像I=imread('cameraman.tif');J=imrotate(I,–4,'bilinear','crop');imshow(I)figure,imshow(J)执行结果如图4-73所示。图4-73图像旋转【例4-67】把检索图像转化为灰度图像loadtreesI=ind2gray(X,map);imshow(X,map)figure,imshow(I)执行结果如图4-74所示。图4-74检索图像转化为灰度图像【例4-68】转化矩阵为灰度图像I=imread('cameraman.tif');J=filter2(fspecial('sobel'),I);K=mat2gray(J);imshow(I)figure,imshow(K)执行结果如图4-75所示。图4-75转化矩阵为灰度图像【例4-69】二维中值过滤I=imread('eight.tif');J=imnoise(I,'salt&pepper',0.02);K=medfilt2(J);imshow(J)figure,imshow(K)执行结果如图4-76所示。图4-76二维中值过滤【例4-70】在矩形框中同时显示多幅图像loadmrimontage(D,map)执行结果如图4-77所示。图4-77多幅图像显示【例4-71】产生一个头部幻影图像P=phantom('ModifiedShepp-Logan',200);Imshow(P)执行结果如图4-78所示。图4-78头部幻影图像显示【例4-72】转化RGB图像为索引图像读取和显示星云的真彩色uint8JPEG图像。RGB=imread('flowers.tif');RGB=imread('ngc6543a.jpg');figureimagesc(RGB)axisimagezoom(4)执行结果如图4-79所示。图4-79读取和显示星云的真彩色uint8JPEG图像将RGB转换为包含32种颜色的索引图像。[IND,map]=rgb2ind(RGB,32);figureimagesc(IND)colormap(map)axisimagezoom(4)执行结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论