用MATLAB绘制一元函数和二元函数的图象
更新时间:2024-01-19 09:10:01 阅读量: 教育文库 文档下载
《MATLAB语言》课程论文
用MATLAB绘制一元函数和二元函数的
图象
姓名: 马军
学号: 12010245245 专业: 通信工程 班级: 2010级通信1班 指导老师:汤全武
学院: 物理电气信息学院
完成日期:2011.12.20
用MATLAB绘制一元函数和二元函数的图像
(马军 12010245245 2010级通信工程1班)
【摘要】大学物理力学中涉及许多复杂的数值计算问题,例如非线性问题,对其手工求解较为复杂,而MATLAB语言正是处理非线性问题的很好工具,既能进行数值求解,又能绘制有关曲线,非常方便实用。另外,利用其可减少工作量,节约时间,加深理解,同样可以培养应用能力。 【关键词】一元函数 二元函数 MATLAB 图像的绘制
一、问题的提出
MATLAB语言是当今国际上科学界(尤其是自动控制领域)最具影响力、也是最有活
力的软件。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB语言在各国高校与研究单位起着重大的作用.它是一种集数值计算、符号运算、可视化建模、仿真和图形处理等多种功能…
二、实验内容
1.平面曲线的表示形式
对于平面曲线,常见的有三种表示形式,即以直角坐标方程y?f(x),x?[a,b],以参数方程x?x(t),y?y(t),t?[a,b],和以极坐标r?r(?),??[a,b]表示等三种形式。
2.曲线绘图的MATLAB命令
MATLAB中主要用plot,fplot二种命令绘制不同的曲线。
plot(x,y) 作出以数据(x(i),y(i))为节点的折线图,其中x,y为同维数的向量。
plot(x1,y1,x2,y2,…) 作出多组数据折线图
fplot(‘fun’,[a,b]) 作出函数fun在区间[a,b]上的函数图。 可以用help plot, help fplot查阅有关这些命令的详细信息
问题1:作出函数y?sinx,y?cosx的图形,并观测它们的周期性。先作函数
y?sinx在[?4?,4?]上的图形,用MATLAB作图的程序代码为:
>>x=linspace(-4*pi,4*pi,300); %产生300维向量x >>y=sin(x); %定义函数y
>>plot(x,y) %二维图形绘图命令
结果如图1
10.50-0.5-1-20-1001020 图1. y?sinx的图形
此图也可用fplot命令,相应的MATLAB程序代码为:
>>clear; close; %clear清理内存;close关闭已有窗口。
>>fplot('sin(x)',[-4*pi,4*pi])%做出函数sin(x)在区间[-4*pi,4*pi]上的函数图
结果如图2
10.50-0.5-1-10-50510 图2 y?sinx的图形
如果在同一坐标系下作出两条曲线y?sinx和y?cosx在[?2?,2?]上的图形,相应的MATLAB程序代码为:
>>x=-2*pi:2*pi/30:2*pi; %产生向量x >>y1=sin(x); %产生函数y1 >>y2=cos(x); %产生函数y2
>>plot(x,y1,x,y2,’:’) %’:’表示绘出的图形是点线
结果如图3其中实线是y?sinx的图形,点线是y?cosx的图形。
10.50-0.5-505图3 y?sinx,y?cosx的图形
3.线型、标记和颜色的控制 符号 b g r c m y k w 颜色 蓝色 绿色 红色 青色 紫红色 黄色 黑色 白色 符号 . 。 × * s d v ^ p h 标记 点 圆圈 叉号 星号 正方形 菱形 三角形(下) 三角形(上) 五角星 六边形 - : -. ―― -1-1010 符号 线型 实线 点线 点划线 虚线 问题2:将问题1得到的图形用不同的线型及颜色加以绘制。 >>x=-2*pi:2*pi/30:2*pi; %产生向量x >>y1=sin(x); %产生函数y1 >>y2=cos(x); %产生函数y2
>>plot(x,y1,x,y2,’gp’) %’gp’表示绘出的图形是绿色五角星线
结果如图4
图4 y?sinx,y?cosx的图形
问题3作出以极坐标方程r?a(1?cos?),a?1,??[0,2?]表示的心脏线 相应的MATLAB程序代码为:
>>clear; close; %%clear清理内存,close关闭已有窗口。 >>t=0:2*pi/30:2*pi; %产生向量t >>r=1+cos(t); %
>>x=r.*cos(t); y=r.*sin(t); %极坐标转化为直角坐标 >>plot(x,y) %画出折线图
结果如图5
210-1-2-1012 图5心脏线
3.曲面绘图的MATLAB命令
MATLAB中主要用mesh,surf命令绘制二元函数图形。
mesh(x,y,z) 画网格曲面,这里x,y,z是三个数据矩阵,分别表示数据点的横坐标,纵坐标和函数值,该命令将数据点在空间中描出,并连成网格。
surf(x,y,z) 画完整曲面,这里x,y,z是三个数据矩阵,分别表示数据点的横坐标,纵坐标和函数值,该命令将数据点所表示曲面画出。
可以用help mesh, help surf查阅有关这些命令的详细信息
22z?x?y问题4画出函数的图形,不妨将区域限制在(x,y)?[?3,3]?[?3,3]。用
MATLAB作图的程序代码为:
>>clear; %clear清理内存
>>x=-3:0.1:3; %x的范围为[-3,3] >>y=-3:0.1:3; %y的范围为[-3,3]
>>[X,Y]=meshgrid(x,y); %将向量x,y指定的区域转化为矩阵X,Y >>Z=sqrt(X.^2+Y.^2); %产生函数值Z
>>mesh(X,Y,Z)
结果如图6。图6是网格线图,如果要画完整的曲面图,只需将上述的MATLAB代码mesh(X,Y,Z)改为surf(X,Y,Z), 结果如图7
图6 锥面
图7 锥面
要画等高线,需用contour,contour3命令.其中contour为二维等高线, contour3为三维等高线,如画图6的三维等高线, MATLAB代码为:
>>clear; %clear清理内存
>>x=-3:0.1:3; % x的范围为[-3,3] >>y=-3:0.1:3; % y的范围为[-3,3]
>>[X,Y]=meshgrid(x,y); %将向量x,y指定的区域转化为矩阵X,Y >>Z=sqrt(X.^2+Y.^2); %产生函数值Z >>contour3(X,Y,Z,10) %画10条等高线
>>xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis') %三个坐标轴的标记 >>title('Contour3 of Surface') %标题 >>grid on %画网格线
结果如图8
Contour3 of Surface43Z-axis21020Y-axis-2-20X-axis2 图8 等高线
如画图6的二维等高线, MATLAB代码为:
>>clear; %clear清理内存
>>x=-3:0.1:3; % x的范围为[-3,3] >> y=-3:0.1:3; % y的范围为[-3,3]
>>[X,Y]=meshgrid(x,y); %将向量x,y指定的区域转化为矩阵X,Y >>Z=sqrt(X.^2+Y.^2); %产生函数值Z >> contour(X,Y,Z,10) %画10条等高线
>>xlabel('X-axis'),ylabel('Y-axis') % 二个坐标轴的标记 >>title('Contour of Surface') %标题 >>grid on %画网格线
结果如图9
Contour of Surface321Y-axis0-1-2-3-3-2-10X-axis123 图9 等高线
如果要画z?1的等高线,则用命令
>>clear; %clear清理内存
>>x=-3:0.1:3; % x的范围为[-3,3]
>>y=-3:0.1:3; % y的范围为[-3,3]
>>[X,Y]=meshgrid(x,y); %将向量x,y指定的区域转化为矩阵X,Y >>Z=sqrt(X.^2+Y.^2); %产生函数值Z
>> contour(X,Y,Z,[1 1]) %画在【11】内的等高线
结果如图9
20-2-20图5.5 等高线
2 三、结论
通过使用matlab语言可以对一元函数和二元函数进行很好的图形绘制,其具有完备的图形处理能力,可以实现计算结果和编程的可视化。MATLAB自产生之日起就具有方
便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。。
四、课程体会
虽然我所研究的课程论文是运用MATLAB对一元函数和二元函数的图像进行绘制,但是这也不是很容易就能写出来的,首先你必须对MATLAB对于函数图像的程序有一般的了解,熟悉它基本的程序语言,熟悉它对于一些图像的形式的程序有一个比较笼统的认识,只有这样你才能对你所画的函数图像可以得心应手。除此之外MATLAB的应用范围也很广阔,在查资料的同时让我对于MATLAB这个很容易上手的程序语言有了更深的了解。
首先MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,
并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。还可用于科学计算和工程绘图。
接着MATLAB应用广泛的模块集合工具箱,MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家
族中有了自己的一席之地。
[参考文献]
[1] 刘卫国.MATLAB程序设计与应用(第二版)[M].北京:高等教育出版社,2006. [2] 马文蔚.物理学(上册)(第四版)[M],北京:高等教育出版社,1999.
正在阅读:
呼吸系统疾病病人的护理试题10-26
建国60年来的成就03-18
市场营销学期中试卷专科06-27
跳绳比赛02-16
系统性能测试方案05-25
51CTO下载-网络命令一览表12-06
晃成中医临床应用处方集04-01
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 函数
- 二元
- 一元
- 绘制
- 图象
- MATLAB
- 串口VC编程步骤及程序
- 车门铰链替代品分析报告
- 高三第一学期地理午后训练(14) - 图文
- 浅析小说《时时刻刻》与《达洛卫夫人》的互文性(论文正文)
- 机械制图 讲义 情境8
- 温州医科大学关于印发科研业绩奖励办法的通知
- 平面向量习题精选精讲
- 商住用地商业和住宅各占多少比例
- 2019年整理--大学生暑期社会实践报告-问卷调查
- 河南监理员继续教育试题02
- 数电题目
- 巴玉雅鲁藏布江三线大桥墩身施工专项方案(2017.6.27)
- 江苏三基试题及答案(康复科)
- 2014-2015学年第一学期对口单招联考期中调研测试卷(单二英语)
- 2018北师大版语文一年级上册全册精品教案
- 电视教材与编导试题题库用
- 中心组学习、考勤、通报、发言制度
- CNC2001&3000应用软件介绍NUMROTO plus 2
- 乡镇宣传片文案解说词
- 安龙县钱相乡初级中学未来三年发展远景规划