当前位置:蚂蚁文档网 > 述职报告 > MATLAB的应用分析

MATLAB的应用分析

时间:2022-03-22 10:49:33 浏览次数:

摘要 MATLAB(Matrix laboratory,即“矩阵实验室”)是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言。其编程效率高,扩充能力强,语句简单、易学易用,是当今世界上最优秀的数值计算软件,也是目前工程界最广的科学计算语言。在电路、信号与系统、数字信号处理及自动控制原理等诸多方面已被广泛应用。本文对MATLAB的应用进行了分析。

关键词 MATLAB;矩阵;建模

中图分类号 TP312文献标识码 A 文章编号 1674-6708(2010)17-0118-03

0 引言

21世纪将以科学技术的高速发展为特征,中华民族在国际大家庭的地位将取决于我国的综合国力,高速度高质量地培养千千万万的技术人才,是其中一个十分重要的任务。要做到这一点,就必须努力地吸取世界上一切优秀的教育思想、教学手段,并创造性地应用于我们的教学事业。

当前,计算机已经被成功地应用于工程设计和制造业中,在发达国家中其普及率已经超过90%,它成倍地提高了劳动生产率,创造了空前巨大的物质文明。它把任何创新思想转化为市场的商品时间缩短了惊人的程度,新产的种类淘汰之快都是20年前无法想像的。国际互联网的广泛应用加快了产业全球化的进程。在这个极具挑战的时代中,把计算机充分运用到教学及工程计算过程中,显然具有重要的意义。

我们知道,计算尺发明于1630年,在大学中计算尺已被使用了300多年,大约在1970年左右被计算器完全代替。现在计算器在大学里已使用了30年,它被计算机所代替已是历史的必然。教学工具的每一次更新都大大地提高了教育的效率。因此,自觉地而不是被动地加快计算机代替计算器的进程,将对大学教学效率的提高起到重要的作用。

在我国随着计算机价格的不断下降和国家对教育投入的加大,学校的装备和学生个人购买的计算机也越来越多,因此在几年之内,大学生自由地使用计算机设备将能够实现。大学本科课程中普遍使用计算机的瓶颈将是软件。即使在目前,拥有计算机的教师和学生也未必知道如何用计算机来帮助他们进行课程教学,因此要从现在起做好准备。

为了把计算机更好地用于大学的课程教育和科学研究,从20世纪80年代开始,出现了多种科学计算语言,也称为数学软件。经过10多年的发展和竞争,已经商品化的有Matlab,Matrix,Maple,Mathmatica,MathCAD等。它们的功能大同小异,又各有千秋,就易学性和普及性而言,首推MATLAB语言。

1 MATLAB语言简介

1.1 MATLAB语言的发展

MATLAB是由美国Mathworks公司于1984年正式推出的,从那时到现在已升级到6.x版本。随着版本的升级,内容不断扩充,功能更加强大。特别是在系统仿真和实时运行等方面,有很多新进展,更扩大了它的应用前景。

MATLAB是一种科学计算软件,主要适用于矩阵运算及控制和信息处理领域的分析设计,它使用方便,输入简捷,运算高效,内容丰富,并且很容易由用户自行扩展,因此,当前已成为美国和其他发达国家大学教学和科学研究中最常用而必不可少的工具。

MATLAB语言比较好学,因为它只有一种数据类型,一种标准的输入输出语句,不用“指针”,不需编译,比其他语言少了很多内容。

1.2 MATLAB语言的特点

1.2.1 起点高

1)每个变量代表一个矩阵,从MATLAB名字的来源可知 ,它以矩阵运算见长,在当前的科学计算中,几乎无处不用矩阵运算,这使它的优势得到 了充分 的体现 。在MATLAB中,每个变量代表一个矩阵,它可以有个元素;

2)每个元素都看做复数,这个特点在其他语言中也是不多见的;

3)所有运算都对矩阵和复数有效,包括加、减、乘、除、函数运算等。

1.2.2 人机界面适合科技人员

1)语言规则与笔算式相似。MATLAB的程序与科技人员的书写习惯相近,因此,易写易读,易于在科技人员之间交流;

2)矩阵行数列数无需定义。要输入一个矩阵,用其他语言时必须先定义矩阵的阶数,而MATLAB则不必有阶数定义语句,输入数据的行列数就决定了它的阶数。

3)键入算式立即得结果,无需编译。MATLAB是以解释方式工作的,即它对每条语句解释后立即执行,若有错误也立即作出反应。便于编程者马上改正。这些都大大减轻了编程和调试的工作量。

1.2.3 强大而简易的做图功能

1)能根据输入数据自动确定坐标绘图;

2)能规定多种坐标系(极坐标,对数坐标等);

3)能绘制三维人材中的曲线和曲面;

4)可设置不同颜色、线型和视角等。

如果数据齐全,通常只需要一条命令即可出图。

1.2.4 智能化程度高

1)绘图时自动选择最佳坐标;

2)做数值积分时,自动按精度选择步长;

3)自动检测和显示程序错误的能力强,易于调试。

1.2.5 功能丰富,可扩展性强

MATLAB软件包括基本部分和专业扩展两大部分。基本部分包括:矩阵的运算和各种变换;代数和超越方程的求解,数据处理和傅里叶变换,数值积分等等,可以充分满足大学理式本科的计算需要。

扩展部分称为工具箱。它实际上是用MATLAB的基本语句编成的各种子程序集,用于解决某一方面的专门问题,或实现某一类的新算法。现在已经有控制系统、信号处理、图像处理、系统辨识、模糊集合、神经元网络和小波分析等数十个工个箱,并且还在断续发展中。

MATLAB的核心内容是它的基本部分,所有的工具箱子程序都是用它的基本语句编写的。学好这部分内容是掌握MATLAB的关键。

2 MATLAB的应用

MATLAB的应用非常广泛,在电路、信号与系统、数字信号处理及自动控制原理等诸多方面已被广为应用。

2.1 MATLAB在电路中的应用

MATLAB中的变量与常量都是矩阵(标量可看做阶的矩阵,向量可看做或阶的矩阵),其元素可以是复数和任意形式的表达式,它具有元素群运算能力。MATLAB的这些优于其他语言的特色,有利于分析计算电路的各种问题,并且使编程更简便,运算效率更高。

例:如图1所示,已知,控制常数,求和。

解:建模

按图1列出节点方程:

整理以上程式,将,也作为未知量移至等号左端,并写成矩阵形式为

令,解上式即得和。

MATLAB的程序

clear, format compact

R1=4; R2=4;R3=4;R4=2;

is=2; k1=0.5; k2=4;

a11=1/R1+1/R2; a12=-1/R2; a13=0; a14=-k1;

a21=-1/R2; a22=-1/R2+1/R3+1/R4; a23=-k2/R3; a24=k1;

a31=1/R2; a32=-1/R2; a33=-1,a34=0;

a41=0; a42=1/R4; a43=0; a44=-1;

A=[a11,a12,a13,a14;a21,a22,a23,a24;a31,a32,a33,a34;a41,a42,a43,a44];

B=[1;0;0;0];

X=A\B*is;

i1=x(3),i2=X(4)

程序运行结果:

i1=1,i2=1

答案:

2.2 MATLAB在信号与系统中的应用

MATLAB特别适用于信号通过系统的分析,如下面的简单应用。

例: LTI系统的零输入响应

描述阶线性时不变(LTI)连续系统的微分方程为

已知及其各阶导数的初值为,求系统的零输入响应。

解:建模

当LTI系统的输入为零时,其零输入响应为微分方程的齐次解(即令微分方程等号右端为0),其形式为(设特征根均为单根)

其中是特征方程

的根,它们可用root(a)语句求得。各系数由及其各阶导数的初始值来确定。对此有

写成矩阵形式为

其解为

式中

V为范德蒙矩阵,在MATLAB的特殊矩阵库中有vander。

MATLAB程序

a=input(‘输入分母系数向量a=[a1,a2,…] =’);

n=length(a)-1;

Y0=input(‘输入初始条件向量Y0=[y0,Dy0,D2y0,…]=’);

P=root(a);V=rot90(vander(p));c=V\Y0;

t=0;dt:tf;y=zeros(1,length(t));

for k=1:n y=y+c(k)*exp(p(k)*t);end

plot(t,y),grid

程序运行结果

用这个通用程序来解一个三阶系统,

运行程序并输入

A=[3,5,7,11];

Dt=0.2;tf=8;

而Y0取

[1,0,0];[0,1,0];[0,0,1]

3种情况,用hold on 语句使3次运行生成的图形画在一幅图上,得到图2。

参考文献

[1]王沫然.MATLAB6.0与科学计算[M].北京:电子工业出版社,2001.

[2]黄忠霖.MATLAB符号运算及其应用[M].北京:国防工业出版社,2001.

推荐访问:分析 Matlab

猜你喜欢