matlab学科应用.docx
- 文档编号:25955835
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:15
- 大小:197KB
matlab学科应用.docx
《matlab学科应用.docx》由会员分享,可在线阅读,更多相关《matlab学科应用.docx(15页珍藏版)》请在冰豆网上搜索。
matlab学科应用
matlab在自动化专业的应用
matlab软件是集计算、证明、建模等于一体的软件,作图功能非常强大。
metlab语句简单,内涵丰富,Matlab语言中最基本最重要的成分是函数。
Matlab语言象Basic、Fortran和C语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算中。
另外,它不需要定义数组的维数,并且给出了矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。
在此基础上,高版本的Matlab已逐步扩展到科学及工程计算的其它领域。
而其在电气工程与自动化这个专业中应用广泛,尤其是高等数学,线性代数,复变函数,大学物理,电路,电力电子技术和自动控制原理等等。
(一)matlab在高等数学的应用
高等数学的教学与学习过程也离不开绘图.借助直观的图形,常可以使初学者更容易接受新知识.如数学分析中有不少函数,其解析式着实让人望而生畏,即使对其性质作了详尽的分析,还是感到难明就里;但如果能看到它的图形,再配合理论分析,则问题可以迎刃而解.又如在几何的学习中,会遇到大量的曲线与曲面,也离不开图形的配合.
传统的手工作图,往往费力耗时,效果也不尽理想.计算机恰恰弥补了这个不足,使你可以方便地指定各种视角、比例、明暗,从各个角度进行观察.
例如:
1.平面作图:
可以进行不同函数间的比较
利用函数plot在一个坐标系中画以下几个函数图像,要求采用不同颜色、不同线形、不同的符号标记.函数为:
.
程序如下:
t=0:
pi/20:
2*pi;
x=sin(t);
y=cos(t);
z=sin(2*t);
plot(t,x,'--k*',t,y,'-rs',t,z,':
bo')
图像如下:
在使用函数plot时,应当注意到当两个输入量同为向量时,向量x与y必须维数相同,而且必须同是行向量或者同是列向量.
绘图时,可以制定标记的颜色和大小,也可以用图形属性制定其他线条特征,这些属性包括:
linewidth 指定线条的粗细.
markeredgecolor 指定标记的边缘色
markerfacecolor 指定标记表面的颜色.
markersize 指定标记的大小.
若在一个坐标系中画几个函数,则plot的调用格式如下:
plot(x1,y1,s1,x2,y2,s2,……)
2.空间曲线作图:
解决三元方程的问题
plot3,它与plot相比,只是多了一个维数而已.其调用格式如下:
plot3(x,y,z,s).例如:
x=0:
pi/30:
20*pi;
y=sin(x);z=cos(x);
plot3(x,y,z)
得到三维螺旋线:
3.可以直接利用matlab的指令求定积分,不定积分,面积,导数等,利用公式直接进行赋值计算
(1)数值计算
输入程序代码:
int('1/(1+x^2)','x',0,1)
(2)求解多项式
的所有根.例如:
求解:
.
输入代码:
p=[1 -6 -72 -27];
r=roots(p)
>>r=
12.1229
-5.7345
-0.3884
matlab在高等数学上的应用还有很多,就不一一举出了。
(二)matlab在线性代数和复变函数的应用
矩阵可以用matlab进行加减乘除等基本计算和画图,还可以绘复数函数的图像
eg1.矩阵的线绘。
z=peaks;%矩阵为4949
plot(z)
变换方向来绘图:
y=1:
length(peaks);
plot(peaks,y)
eg2.绘复数函数的图像。
t=0:
0.5:
10;
s=0.05+i;
z=exp(-s*t);
feather(z)
(三)matlab在概率论的应用。
matlab可以进行数据分析和统计
eg.绘出测量的三个变量的数据分析和统计图。
用loadcount.dat装入数据文件。
count=11119;71311;141720
11139;435169;384676
61132186;75135180;3888115
283655;121214;182730
181929;171518;193648
324710;426592;5766151
445590;114145257;355868
111215;13915;1097
[n,p]=size(count);
t=1:
n;
set(0,‘defaultaxeslinestyleorder’,’-|--|-.’)
set(0,‘defaultaxescolororder’,[0,0,0])
plot(t,count),legend(‘Location1’,‘Location2’,‘Location3’,0)
xlabel(‘Time’),ylabel(‘VehicleCount’),gridon
(四)matlab在物理中的应用。
matlab在物理学中可以通过作图描绘不同物理量之间的函数关系。
eg1.在物理学中,为研究某种材料应力与应变的关系,测得一组数据如下表:
应力σ
925
1125
1625
2125
2625
3125
3625
应变ε
0.11
0.16
0.35
0.48
0.61
0.71
0.85
如果假定应力与应变有如下关系(σ为应力值,ε为应变值):
ε=a+blnσ
试计算a、b的值。
MATLAB的表达形式如下:
x=[925,1125,1625,2125,2625,3125,3625];
y=[0.11,0.16,0.35,0.48,0.61,0.71,0.85];
plot(x,y,'o')
[p,resid1]=polyfit(x,y,2)
holdon
xi=linspace(700,3700,3000);
yi=polyval(p,xi);
plot(xi,yi)
x0=[0.1,0.1];
fff=inline('a
(1)+a
(2)*log(x)','a','x');
[a,resid2]=lsqcurvefit(fff,x0,x,y)
plot(xi,fff(a,xi),'r')
执行程序得到图3,图中蓝色曲线为利用polyfit()函数得到的曲线,红色曲线为利用lsqcurvefit()函数得到的曲线;
其显示的结果为:
p=
-0.00000.0004-0.2266
resid1=
R:
[3x3double]
df:
4
normr:
0.0331
a=
-3.58100.5344
resid2=
0.0064
其中a的值代表利用lsqcurvefit()函数得到的关系为:
ε=-3.5810+0.5344
eg2.飞机成功起飞的概率问题:
由16架飞机组成的空军飞行中队要求做好立即起飞的准备,其中一架飞机不能立即起飞的概率为20%,重新起飞需几分钟的时间,因此一架飞机立刻起飞的概率为0.80。
12架飞机能够成功起飞的概率为多少?
分析:
这是一个概率中的二项分布问题,常用binopdf()函数。
h=binopdf(12,16,0.80)%二项分布函数的概率值
计算结果为
h=0.2001
另一方面,至少有14架飞机立刻成功起飞的概率为:
h=1-binocdf(13,16,0.80)%或h=sum(binopdf(14:
16,16,0.80)),
其中binocdf()为二项分布的累积概率值,计算结果为h=0.3518。
(五)matlab在电路和自动控制原理的应用。
matlab可以绘一阶,二阶系统或高阶系统的电路和仿真自动控制系统
(一)稳定性
1、系统传递函数为G(s),试判断其稳定性。
程序:
>>num=[3,2,5,4,6];
>>den=[1,3,4,2,7,2];
>>sys=tf(num,den);
>>figure
(1);
>>pzmap(sys);
>>title('零极点图')
由图可知:
在S右半平面有极点,因此可知系统是不稳定的。
2、用MATLAB求出G(s)=(s^2+2*s+2)/(s^4+7*s^3+5*s+2)的极点。
程序及结果:
>>sys=tf([1,2,2],[1,7,3,5,2]);
>>p=pole(sys)
p=
-6.6553
0.0327+0.8555i
0.0327-0.8555i
-0.4100
(二)阶跃响应
1、二阶系统G(s)=10/s^2+2*s+10
1)键入程序,观察并记录单位阶跃响应曲线:
程序:
num=[36];;den=[11.236];
[numc,denc]=cloop(num,den);
t=0:
0.1:
10;
y=step(numc,denc,t);
plot(t,y,'b')
holdon
num=[36];;den=[14.836];
[numc,denc]=cloop(num,den);
t=0:
0.1:
10;
y=step(numc,denc,t);
plot(t,y,'g')
holdoff
holdon
num=[36];;den=[18.436];
[numc,denc]=cloop(num,den);
t=0:
0.1:
10;
y=step(numc,denc,t);
plot(t,y,'r')
holdoff
holdon
num=[36];;den=[11236];
[numc,denc]=cloop(num,den);
t=0:
0.1:
10;
y=step(numc,denc,t);
plot(t,y,'c')
holdoff
holdon
num=[36];;den=[115.636];
[numc,denc]=cloop(num,den);
t=0:
0.1:
10;
y=step(numc,denc,t);
plot(t,y,'y')
holdoff
legend('\zeta=0.1','\zeta=0.4','\zeta=0.7','\zeta=1','\zeta=1.3')
title('thestepresponce');
xlabel('time-sec')
2)计算系统闭环跟、阻尼比、无阻尼振荡频率,并记录:
程序及结果:
>>sys=tf(10,[1,2,10]);
>>p=pole(sys)
p=
-1.0000+3.0000i
-1.0000-3.0000i
>>[wn,z]=damp(sys)
wn=
3.1623
3.1623
z=
0.3162
0.3162
系统动态特性分析
eg.用MATLAB求二阶系统G(s)=120/(s^2+12*s+120)和G(s)=0.01/(s^2+0.002*s+0.01)的峰值时间tp上升时间tr调整时间ts超调量σ%。
G(s)=120/(s^2+12*s+120):
程序:
>>sys=tf(120,[1,12,120]);
>>step(sys)
>>title('G(s)=120/(s^2+12*s+120)单位阶跃响应曲线')
(曲线见下页图二)
峰值时间tp=0.34s上升时间tr=0.158s调整时间ts=0.532s超调量σ%=12.8%
G(s)=0.01/(s^2+0.002*s+0.01)
程序:
>>sys=tf(0.01,[1,0.002,0.01]);
>>step(sys)
>>title('G(s)=0.01/(s^2+0.002*s+0.01)单位阶跃响应曲线')
(图见图三)
峰值时间tp=32s上升时间tr=10.3s调整时间ts=3.9e+003s超调量σ%=96.7%
图一
图二
图三
正是由于MATLAB的各种优势和特点,在国内的高等院校里,MATLAB已经成为大学生、硕士生、博士生必须掌握的基本技能。
Matlab已逐步扩展到科学及工程计算的其它领域。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 学科 应用