《MATLAB基础》实验8报告1

更新时间:2023-11-09 11:15:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

评分

大理学院实验报告

2014—2015学年度第 2 学期

课程名称 MATLAB基础 实验名称 图像二维与三维可视化2 专业班级 2013级生物医学工程 姓 名 学 号

实验日期 2014年12月15日 实验地点 工科楼503

《MATLAB基础》实验报告

一、 实验目的 MATLAB提供了强大的图形处理功能,本次实验旨在使学生熟悉和掌握应有的MATLAB实现二维图形和三维图形的绘制和控制与表现方法。 二、实验环境 1、硬件配置:计算机: Intel(R) Pentium(R) 4 CPU 2.80 GHz 2.81GHz,1.00GB的内存 2、软件环境:MATLAB 7.0 三、实验内容 1. 根据 绘制平面曲线,并分析参数a对其形状的影响。 2.完成以下各题,将答案写入实验报告,并在机器上运行结果验证 (1)绘制三维圆柱螺旋线, 要求给出相应的坐标轴和标题附加标注,螺旋线为蓝色虚线。 (2)错误!未找到引用源。,当x和y的取值范围均为-3到3时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图,网线图,表面图和带渲染效果的表面图。 四、实验结果与分析 第2页 共10页

《MATLAB基础》实验报告

(包括实验原理、数据的准备、运行过程分析、源程序(代码)、图形图象界面等) 一、 实验原理: 1.二维数据曲线图 (1) 绘制单根二维曲线plot(x,y); (2) 绘制多根二维曲线plot(x,y)当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。当x,y是同维矩阵时,则以x,y对应元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的数列。 (3) 含有多个输入参数的plot函数plot(x1,y1,x2,y2,...,xn,yn) (4) 具有两个纵坐标度的图形plotyy(x1,y1,x2,y2) 2.图形标注与坐标控制 (1)title(图形名称) (2)xlabel(x轴说明) (3)ylabel(y轴说明) (4)text([xmin xmax ymin ymax zmin zmax]) 3.图形窗口的分割 subplot(m,n,p) 4.三维曲线 plot3(x1,y1,z1,选项1,x2,y2,选项2,...,xn,yn,zn,选项n) 5.三维曲面 Mesh(x,y,z,c)与surf(x,y,z,c)。一般情况下,x,y,z是维数相同的矩阵。x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。 二、数据的准备、运行及分析 >> %第一题 %第一次从键盘输入a的值时,a取-5到5之间的数 a=input('a=')%用input 从键盘输入a的值 z=x^2/a^2+y^2/(25-a^2)-1;%把1移到方程x^2/a^2+y^2/(25-a^2)=1的左边,并整理为z=x^2/a^2+y^2/(25-a^2)-1 subplot(2,2,1)%2,2表示将图像分为2x2个子区域,1表示在第一个区域中绘制图像 ezplot(z,[-5 5])%ezplot:符号绘图函数,在图形窗口绘出函数的图形。x,y都取-5到5 title('椭圆1')%给图形加标题 xlabel('x取-5至5')%给x轴加说明 ylabel('y取-5至5')%给y轴加说明,并自动旋转90度 %第二次从键盘输入a的值时,a取-5到5之间的数 第3页 共10页

《MATLAB基础》实验报告

a=input('a=')%用input 从键盘输入a的值 z=x^2/a^2+y^2/(25-a^2)-1;%把1移到方程x^2/a^2+y^2/(25-a^2)=1的左边,并整理为z=x^2/a^2+y^2/(25-a^2)-1 subplot(2,2,2)%2,2表示将图像分为2x2个子区域,2表示在第二个区域中绘制图像 ezplot(z,[-5 5])%ezplot:符号绘图函数,在图形窗口绘出函数的图形。x,y都取-5到5 title('椭圆2')%给图形加标题 xlabel('x取-5至5')%给x轴加说明 ylabel('y取-5至5')%给y轴加说明,并自动旋转90度 %第三次从键盘输入a的值时,a取-20到20之间的数 a=input('a=')%用input 从键盘输入a的值 z=x^2/a^2+y^2/(25-a^2)-1;%把1移到方程x^2/a^2+y^2/(25-a^2)=1的左边,并整理为z=x^2/a^2+y^2/(25-a^2)-1 subplot(2,2,3)%2,2表示将图像分为2x2个子区域,3表示在第三个区域中绘制图像 ezplot(z,[-20 20])%ezplot:符号绘图函数,在图形窗口绘出函数的图形。x,y都取-20到20 title('双曲线1')%给图形加标题 xlabel('x取-20至20')%给x轴加说明 ylabel('y取-20至20')%给y轴加说明,并自动旋转90度 %第四次从键盘输入a的值时,a取-20到20之间的数 a=input('a=')%用input 从键盘输入a的值 z=x^2/a^2+y^2/(25-a^2)-1;%把1移到方程x^2/a^2+y^2/(25-a^2)=1的左边,并整理为z=x^2/a^2+y^2/(25-a^2)-1 subplot(2,2,4)%2,2表示将图像分为2x2个子区域,4表示在第四个区域中绘制图像 ezplot(z,[-20 20])%ezplot:符号绘图函数,在图形窗口绘出函数的图形。x,y都取-20到20 title('双曲线2')%给图形加标题 xlabel('x取-20至20')%给x轴加说明 ylabel('y取-20至20')%给y轴加说明,并自动旋转90度 a=-2%从键盘输入a=-2 a = -2 第4页 共10页

《MATLAB基础》实验报告

a=3%从键盘输入a=3 a = 3 a=-10%从键盘输入a=-10 a = -10 a=15%从键盘输入a=15 a = 15 >> 第一题图形 第5页 共10页

《MATLAB基础》实验报告

椭圆155椭圆2y取-5至50y取-5至50x取-5至5双曲线150-5-5-5-50x取-5至5双曲线252020y取-20至200-10-20-20-10010x取-20至2020y取-20至2010100-10-20-20-10010x取-20至2020 结论及图像分析:上图都是a取不同值时所产生的,由此可知:当所取的a的绝对值小于5时,图像为椭圆;当所取的a的绝对值大于5时,图像为双曲线。 %第二题(1) t=0:pi/10:10*pi;%t取值0到10*pi,步长pi/10 plot3(sin(t),cos(t),t,'b--')%plot3:绘制三维曲线,b:蓝色;--:虚线 grid on%显示当前坐标轴下的网格线 axis square%设置坐标系为等长坐标系,各坐标轴的刻度根据数据范围自动选择 title('三维圆柱螺旋线')%给整个图像加标题 xlabel('x=sin(t)')%给横坐标轴加说明 ylabel('y=cos(t)')%给纵坐标轴加说明,并自动旋转90度 zlabel('z=t')%给z轴加说明 第二题(1)的图 第6页 共10页

《MATLAB基础》实验报告

三维圆柱螺旋线4030z=t2010010.50-0.5y=cos(t)-1-1-0.5x=sin(t)0.501 结论及图像分析:当t的步长取得较小时,图形比较密集,看不出所设置的虚线效果,所以,在此t的步长取大点好。用grid on在坐标轴下显示网格线更具有立体效果。 第7页 共10页

《MATLAB基础》实验报告

%第二题(2) x=-3:0.5:3;%x取值-3到3,步长0.5 y=-3:0.5:3;;%y取值-3到3,步长0.5 [X,Y]=meshgrid(x,y);%讲x和y指定的区域转化为数组X和Y,X的行为x的复制,Y的列为y的复制 Z=Y+X.*exp(-X.^2-Y.^2);%此式即为z=y+x.*exp(-x.^2-y.^2),其中使用点乘,点方 subplot(2,2,1)%2,2表示将图像分为2x2个子区域,1表示在第一个区域中绘制图像 plot3(X,Y,Z)%plot3:绘制三维线图 title('三维线图')%给整个图像加标题 xlabel('x=-3:0.5:3')%给横坐标轴加说明 ylabel('y=-3:0.5:3')%给纵坐标轴加说明,并自动旋转90度 zlabel('Z=Y+X.*exp(-X.^2-Y.^2)')%给z轴加说明 subplot(2,2,2)%2,2表示将图像分为2x2个子区域,最后一个2表示在第二个区域中绘制图像 mesh(X,Y,Z)%mesh:绘制三维网格图 title('网线图')%给整个图像加标题 xlabel('x=-3:0.5:3')%给横坐标轴加说明 ylabel('x=-3:0.5:3')%给纵坐标轴加说明,并自动旋转90度 zlabel('Z=Y+X.*exp(-X.^2-Y.^2)')%给z轴加说明 subplot(2,2,3)%2,2表示将图像分为2x2个子区域,3表示在第三个区域中绘制图像 surf(X,Y,Z)%surf:绘制三维表面图 title('表面图')%给整个图像加标题 xlabel('x=-3:0.5:3')%给横坐标轴加说明 ylabel('y=-3:0.5:3')%给纵坐标轴加说明,并自动旋转90度 zlabel('Z=Y+X.*exp(-X.^2-Y.^2)')%给z轴加说明 subplot(2,2,4)%2,2表示将图像分为2x2个子区域,4表示在第四个区域中绘制图像 surf(X,Y,Z)%surf:绘制三维表面图 shading interp%进行色彩的插值处理,使色彩平滑过渡 title('带渲染效果的表面图')%给整个图像加标题 xlabel('x=-3:0.5:3')%给横坐标轴加说明 ylabel('y=-3:0.5:3')%给纵坐标轴加说明,并自动旋转90度 zlabel('Z=Y+X.*exp(-X.^2-Y.^2)')%给z轴加说明 第8页 共10页

《MATLAB基础》实验报告

第二题(2)的图 三维线图网线图.-Y.2)Z=Y+X.*exp(-X250-550y=-3:0.5:3-5-5表面图0x=-3:0.5:3.-Y.2)Z=Y+X.*exp(-X250-550x=-3:0.5:3-5-50x=-3:0.5:355带渲染效果的表面图.-Y.2)Z=Y+X.*exp(-X250-550y=-3:0.5:3-5-50x=-3:0.5:3.-Y.2)Z=Y+X.*exp(-X250-550y=-3:0.5:3-5-50x=-3:0.5:355 结论及图像分析:用subplot(m,n,p)分割图形窗口,m,n表示将图像分为mxn个子区域,p表示在第p个区域中绘制图像;上图的最后一个子图用shading interp进行色彩的插值处理,使色彩平滑过渡。 第9页 共10页

《MATLAB基础》实验报告

五、实验小结: (包括主要实验问题的最终结果描述、详细的收获体会,待解决的问题等) 【1】 【2】 【3】 【4】 当要分析参数的取值对图像形状的影响时,用subplot创建多个子图,方便查看分析; 绘制图形时,用title给图形加个名称,并用xlabel、ylabel给坐标轴加说明,便于观看; 有时自变量步长的取值要根据所需图像取合适的值。 此次实验不仅巩固了前面所学的知识,而且在操作中还学会了很多处理错误的方法。 手写签名: 第10页 共10页

本文来源:https://www.bwwdw.com/article/44cv.html

Top