- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB应用实例分析
Matlab应用例题选讲
仅举一些运用MATLAB的例子,这些问题在数学建模中时常遇到,希望能帮助同学们在短时间内方便、快捷的使用MATLAB 解决数学建模中的问题,并善用这一工具。
常用控制命令:
clc:%清屏; clear:%清变量; save:%保存变量; load:%导入变量
一、利用公式直接进行赋值计算
本金P以每年n次,每次i%的增值率(n与i的乘积为每年增值额的百分比)增加,当增加到r×P
时所花费的时间T为:(利用复利计息公式可得到下式)
()
MATLAB 的表达形式及结果如下:
r=2;i=0.5;n=12; %变量赋值
T=log(r)/(n*log(1+0.01*i))
计算结果显示为:
T = 11.5813
即所花费的时间为T=11.5813 年。
分析:上面的问题是一个利用公式直接进行赋值计算问题,实际中若变量在某个范围变化取很多值时,使用MATLAB,将倍感方便,轻松得到结果,其绘图功能还能将结果轻松的显示出来,变量之间的变化规律将一目了然。
若r在[1,9]变化,i在[0.5,3.5]变化;我们将MATLAB的表达式作如下改动,结果如图1。
r=1:0.5:9;
i=0.5:0.5:3.5;
n=12;
p=1./(n*log(1+0.01*i));
T=log(r)*p;
plot(r,T)
xlabel(r) %给x轴加标题
ylabel(T) %给y轴加标题
q=ones(1,length(i));
text(7*q-0.2,[T(14,1:5)+0.5,T(14,6)-0.1,T(14,7)-0.9],num2str(i))
图1
从图1中既可以看到T随r的变化规律,而且还能看到i的不同取值对T—r曲线的影响(图中的六条曲线分别代表i的不同取值)。
二、已知多项式求根
已知多项式为,求其根。
分析:对多项式求根问题,我们常用roots()函数。MATLAB 的表达形式及结果如下:
h=roots([1 -10 31 -10 -116 200 -96]) %中括号内为多项式系数由高阶到常数。
计算结果显示为(其中i为虚数单位):
h =
-2.0000
4.0000
3.0000
2.0000 + 0.0000i
2.0000 - 0.0000i
1.0000
如果已知多项式的根,求多项式,用poly()函数。对上面得到的h的值求多项式,其MATLAB的表达形式及结果如下:
h=[-2.0000 4.0000 3.0000 2.0000+0.0000i 2.0000-0.0000i 1.0000];
c=poly(h)
计算结果显示为:
c =
1 -10 31 -10 -116 200 -96
三、方程组的求解
求解下面的方程组:
分析:对于线性方程组求解,常用线性代数的方法,把方程组转化为矩阵进行计算。
MATLAB 的表达形式及结果如下:
a=[8 1 6;3 5 7;4 9 2]; %建立系数矩阵
b=[7.5;4;12]; %建立常数项矩阵
x=a\b %求方程组的解
计算结果显示为:
x =
1.2931
0.8972
-0.6236
四、数据拟合与二维绘图
在数学建模竞赛中,我们常会遇到这种数据表格问题,如果我们仅凭眼睛观察,很难看到其中的规律,也就更难写出有效的数学表达式从而建立数学模型。因此可以利用MATLAB的拟合函数, 即polyfit() 函数,并结合MATLAB的绘图功能(利用plot()函数),得到直观的表示。
例:在化学反应中,为研究某化合物的浓度随时间的变化规律,测得一组数据如下表:
T(分) 1 2 3 4 5 6 7 8 y 4 6.4 8.0 8.4 9.28 9.5 9.7 9.86 T(分) 9 10 11 12 13 14 15 16 y 10 10.2 10.32 10.42 10.5 10.55 10.58 10.6
分析:
MATLAB 的表达形式如下:
t=[1:16]; %数据输入
y=[4 6.4 8 8.4 9.28 9.5 9.7 9.86 10 10.2 10.32 10.42 10.5 10.55 10.58 10.6];
plot(t,y,o) %画散点图
p=polyfit(t,y,2)
文档评论(0)