用MATLAB绘制一元函数和二元函数的图象
更新时间:2024-04-05 02:13: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.
正在阅读:
我眼中的曹操作文02-04
细菌内毒素检查标准操作规程12-09
服务基层项目志愿者02-07
四年级数学教师家长会发言稿03-20
响应文件(投标文件模板)04-13
在外地设立办事处05-08
企业领导班子述职述廉报告总结(精选多篇)09-26
李强感恩父母观后感04-02
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 函数
- 二元
- 一元
- 绘制
- 图象
- MATLAB
- 车门铰链替代品分析报告
- JavaScript试题集
- 《亲爱的汉修先生》共读案例
- 保安服务管理制度汇编
- 如何有效提升绩效管理能力
- 实验02-创建数据库、用户及权限管理
- 陕西省药店名录2018版3985家 - 图文
- 国家烟草专卖局办公室关于印发营销师(卷烟商品营销)职业标准和
- 儿童期自闭症评定量表(CARS)
- 连锁企业王牌店长实务实训系统-实训指导书 - 图文
- 营销知识竞赛题
- 商住用地商业和住宅各占多少比例
- 《铁路货物装载加固规则》2000版
- 废旧设备评估方法
- 电视教材与编导试题题库用
- 2017年中国银杏酮酯现状分析及市场前景预测(目录) - 图文
- 土建质量员习题集含答案
- 贵州电大学前教育史4-0002(资料)
- 矿井井下移动瓦斯抽放设备与管理 - 图文
- 人教版六年级数学下册《小升初模拟试卷2》(附答案)