资源描述:
《MATLAB语言程序设计教程(第二版) 张德喜 赵磊生 第10章 MATLAB应用实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章MATLAB应用实例第10章MATLAB应用实例学习目标学会利用MATLAB进行单位换算;了解MATLAB在绘制曲线图、曲面方程图,模拟抛物运动,运算器放大电路等方面的应用。10.1单位换算编写一个程序,能把用户输入的数值进行单位换算,在这里最起码能实现对长度,面积,体积,重量的单位换算。这是一个非常基本的问题,如果我们使用其他编程工具,可能很容易实现。在这里我们并不只是为了要完成这个程序,而是为了通过这个程序来了解如何进行matlab程序设计。首先要进行建立模型在这里分两步实现第一步首先给出菜单选择,在这里让用户选择要实现什么单位换算第二步把输入的转换为一个统一的单位,例如长
2、度单位都统一转换为‘米’,面积都转换为平方米;第三步再转换为我们所要的单位。为什么要这样做,这是因为各个单位之间的转换的变换常数个各不相同,如果直接进行单位换算的话将会十分麻烦。另外,把变换常数直接表示为一个矩阵,选择单位的序号,也就是单位的序号的也就成了矩阵的下标了。这样程序就比较的简单。MATLAB程序代码(ex101.m)clearall;Check=0;while(Check~=3)disp('单位换算程序')fprintf('1)长度2)面积')Check=input('选择进行何种单位换算:');%如果Check等于3的话就退出程序switchCheckcase1fpr
3、intf('长度单位:');fprintf('1)米2)分米3)厘米4)毫米');fprintf('5)英寸6)英尺7)英里8)码');InNum=input('选择输入单位');OutNum=input('选择输出单位');%设定各种单位对米的变换常数数组ToMeterToMeter=[1.000.10.010.0010.02540.30481609.30.914];FrmMeter=1./ToMeter;%反变换常数数组FrmMeter为ToMeter数组的倒数Value=input('输入待变换的值:');ValueinM=Value*ToMeter(InNum)
4、;%把输入值变换为米NewValue=ValueinM*FrmMeter(OutNum);%把米变换为输出单位fprintf('变换后的值是%g',NewValue);%打印变换后的值case2fprintf('面积单位:');fprintf('1)平方米2)公顷3)亩4)平方英尺');fprintf('5)平方码6)英亩7)平方英寸');InNum=input('选择输入单位');OutNum=input('选择输出单位');%设定各种单位对平方米的变换常数数组ToAreaToArea=[1.0010000.02000/30.09290.83640470.000645
5、];FrmArea=1./ToArea;%反变换常数数组FrmArea为ToArea数组的倒数Value=input('输入待变换的值:');ValueinA=Value*ToArea(InNum);%把输入值变换为平方米NewValue=ValueinA*FrmArea(OutNum);%把平方米变换为输出单位fprintf('变换后的值是%g',NewValue);%打印变换后的值otherwiseendend10.2曲线图的绘制三次抛物线的方程为试探讨参数a,b和c对其图形的影响。建模对于这个函数是我们经常见到的一元三次函数,我们可以直接写入绘图语句中。注意坐标的设定方法
6、,以得到适于观察的图形。同时了解如何使用绘图函数来实现图形,以及如何在图形上作标注字符。给出的程序不是唯一的,例如可用plot函数编程,读者可自行探索其他编程方法。MATLAB程序代码(ex102.m)clearall;subplot(1,3,1)fplot('(-2:2)*x.^3+x.^2+x',[-22])%绘制变量a=-2,-1,0,1,2时的图形grid,axis('equal'),axis([-22-44])%显示网格,纵横坐标轴保持一致图%显示区间subplot(1,3,2)fplot('x.^3+(-2:2)*x.^2+x',[-22])%绘制变量b=-2,-1,0,1
7、,2时的图形grid,axis('equal'),axis([-22-44])subplot(1,3,3)fplot('x^3+x.^2+(-2:2)*x',[-22])%绘制变量c=-2,-1,0,1,2时的图形grid,axis('equal'),axis([-22-44])gtext('a=2'),gtext('a=-2'),gtext('a=0')%用gtext命令在其他两个子图上标注字符程序运行结果10.3极限判断用MATLAB语言来