legend('f(x)','d/dx f(x)') grid on; 2.11.5 对数尺度
图2.7在同一坐标系内,显示了f(x)=sin2x和它的微分函数的图象
打印数据既可以用对数尺度,也可以用线性尺度。在x,y轴上使用这两种尺度的一种或两种可以组合形成4种不同的坐标系。每一种组合者有一个特定的函数。
1.plot函数的x,y均用线性尺度
2.semilog函数x轴用对数尺度,y轴将用线性尺度 3.semiloge函数x轴用线性尺度,y轴用对数尺度 4.loglog函数两坐标轴将会都用对数尺度。
这四个函数在意义上是等价的,只是坐标轴的类型不同。每一个图象的例子如图2.8所示。
24
图2.8四种不同画图函数的对比。
表2.10 在legend命令中pos的值 值 意义 0 自动寻找最佳位置,至少不与数据冲突 1 在图象的右上角 2 在图象的左上角 3 在图象的左下角 4 在图象的右下角 -1 在图象的右边
2.12 例子
下面的例子将向大家介绍如何用MATLAB解决问题。
例2.3
(温度转换)设计一个MATLAB程序,读取一个华氏温度的输入,输出开尔文温度。 答案
华氏温度和开尔文温度的转换关系式可在物理学课本中找到。其关系式为:
?5?T(开尔文)??T(摄氏度)?32.0??273.15
?9? (2.5)
在物理学参考书中举了一些例子,我们可以用来检验我们程序是否正确。例如 华氏度(oC) 开尔文(K) 212 373.15 沸水的温度 -110 194.26 冰水混合物的温度 我们设计程序的步骤如下 1.提示用户键入华氏温度值 2.读取输入值
3.通过关系式转换为开氏温度 4.输出结果,结束
我们将会用input函数输入华氏温度,用fprintf函数输出结果。 % Script file:temp_conversion.m
25
% % Purpose: % To convert an input temperature from degrees Fahrenheit to % an output temperature in kelvins. % % Record of revisions: % Date Programmer Description of change % ==== ========= ================ % 12/01/97 S.J.Chapman Original code % Tfine variables: % temp_f --Temperature in degrees Fahrenheit % temp_k --Temperature in kelvins %Prompt the user for the input temperature. temp_f=input('Enter the temperature in degrees Fahrenheit:'); %Converttokelvins. temp_k=(5/9)*(temp_f-32)+273.15; %Writeouttheresult. fprintf('%6.2f degrees Fahrenheit = %6.2f kelvins.\\n',... temp_f,temp_k); 我们输入上面的例子中的华氏温度值,以检测程序的正确性。注意用户的输入值已用黑体字标出。 >> temp_conversion Enter the temperature in degrees Fahrenheit:212 212.00 degrees Fahrenheit = 373.15 kelvins. >> temp_conversion Enter the temperature in degrees Fahrenheit:-110 -110.00 degrees Fahrenheit = 194.26 kelvins. 这个结果和物理教科书的结果相同。在本程序中,我们重复出带单位的输入值和输出值.只有带上单们神经质输出才有意义.
按照惯例,任何输入变量和输出变量的单位都应打印出来.
好的编程习惯
当你读取和写入数据时,使用适当的单位
例2.4
电子工程:负载的最大输出功率
一个内阻Rs=50Ω,电动势V=120V的电源驱动一个负载RL。当RL为多少时,RL的功率最大?在这种情况下,功率为多少?画以RL为自变量的RL功率图。
答案:
在本程序中,我们需要改变RL的值,然后计算出每一个RL的功率。RL功率的表达式 为
(2.6)
I代表流经负载的电流。电流可由欧姆定律计算得到。
PL?I2RL
I?VV ?R总Rs?RL (2.7)
这个问题解决的步骤如下
1. 创建一个数组。这个数组是以1为起始项,以1步长的等差数组,共100项,这是RL的取值。
2. 计算RL的电流, 3. 计算每个RL的功率。
26
4. 画出RL的功率图,以确定RL为多少时其功率最大。 整个程序的代码如下:
图2.10 供给负载电阻的功率图象 % Script file:calc_power.m % % Purpose: % To calculate and plot the power supplied to a load as % a function of the load resistance. % % Record of revisions: % Date Programmer Descriptionofchange % ==== ========== ===================== % 12/01/98 S.J.Chapman Original code % Tfine variables: % amps --Current flow to load(amps) % pl --Power supplied to load(watts) % rl --Resistance of the load(ohms) % rs --Internal resistance of the power source(ohms) % volts --Voltage of the power source(volts) %Set the values of source voltage and internal resistance volts=120; rs=50; %Create an array of load resistances rl=1:1:100; êlculate the current flow for each resistance amps=volts./(rs+rl); êlculate the power supplied to the load pl=(amps.^2).*rl; %Plot the power versus load resistance plot(rl,pl);
27
title('Plot of power versus load resistance'); xlabel('Load resistance(ohms)'); ylabel('Power(watts)'); grid on; 当这个程序运行时,产生的图象如图2.10。从这个图我们可知当负载电阻为50Ω时,功率最大。最大功率为72W。
注意在本例中,用的是数组运算符.*,.^和./.这些运算符将会使数组amps和pl按元素一一对应计算.
例2.5
用C-14确定年代
一个元素的放射性同位素是不稳定元素的一种特殊形态.在一段时间内,它会自然的衰变为另一种元素.衰变一种呈指数下降的过程.如果Q0是放射性物质在t=0时的初始量,那么它的质量与变量t的关系式为
Q(t)?Q0e??t
(2.8)
其中λ代表衰变率.
因为放射性元素的衰变是以一定的速率发生的,我们可以把它当作一个时钟来测定的衰变开始的时间。如果我们知道衰变开始时物质的质量和现在放射性元素剩余的质量,我们可以根据公式(2.8)换算出衰变时间t,即
tdecay?-1?logeQ Q0 (2.9)
公式2.9在科学的许多领域有着广泛的应用.例如,考古学家可以根据C14的衰变周期,来确定古生物距今生活的年代.现在活着的生物C14的含量是不变的,所以可以根据古生物C14的现存量来确定古生物的生存年代.已知C14的衰变率λ为0.00012097/年,所以如果C14的剩余量可以通过测量得到,那么我们就可以根据公式2.9算出这个生物活在多少年之前.图2.1向大家展示了以时间为自变量的C14的剩余量函数.
编定一个程序,读取样品中C14剩余量的百分比,计算样品距今的年代,并打印出结果. 这个问题解决的步骤如下
1. 提示用户输入样品中C14的剩余量 2. 读取百分比
3. 将百分比转化成分数
Q. Q04. 利用公式(2.9)计算出距今的年数 5. 输出结果,结束. 代码如下 % Script file:c14_date.m % % Purpose: % To calculate the age of an organic sample from the percentage % of the original carbon 14 remaining in the sample. % % Record of revisions: % Date Programmer Description of change % ==== ========== ===================== % 12/02/97 S.J.Chapman Original code % Tfine variables: % age --The age of the sample in years % lamda --the radioactive decay constant for carbon-14,in units of 1/years.
28
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库MatLab中文版(word版)第二章(6)在线全文阅读。
相关推荐: