5.MATLAB程序设计
- 格式:ppt
- 大小:574.00 KB
- 文档页数:56


- 1 - matlab程序设计与应用
Matlab是一款高效能的编程语言,具有高品质的计算和分析功能,近十多年来被广泛应用在工程计算、科学研究、商业分析、金融模拟和教育工作等多个领域。它拥有一系列强大的算法编写功能,可以实现非线性矩阵求解、信号处理、图像处理、生物医学信号处理等功能。
本文将介绍Matlab程序设计与应用,以及它在工程计算、科学研究、商业分析等领域的应用和示例。
一、Matlab程序设计
Matlab是一种操作方便的高级编程语言,立足于原始编码,它建立在C及FORTRAN之上,而且它的高级结构使得设计程序不必写成复杂的程序框架,而可以把主要精力放在要实现的功能上。Matlab在程序设计方面支持面向对象编程(Object-oriented programming,OOP)方式,可以实现结构化的程序设计,把大量的程序按照模块和函数来管理,方便调用和重用,并可以利用Matlab的类和类的方法来实现程序的重用和拓展。
二、Matlab在工程计算领域的应用
Matlab在工程计算领域的应用如下:
(1)Matlab可以用于科学计算,如:数值分析、科学计算、多元函数拟合、图像处理以及信号处理等。
(2)Matlab可以用于设计和调试电子电路,如:数字电路、模拟电路、射频电路、功率电路以及控制电路等。 - 2 - (3)Matlab可以用于控制系统分析,如:数模转换、频响函数以及过程控制等。
(4)Matlab可以用于机械结构设计,如:机械结构分析、运动学以及动力学等。
三、Matlab在科学研究和商业分析领域的应用
Matlab在科学研究和商业分析领域的应用如下:
(1)Matlab可以用于统计学研究,如:概率统计、偏差分析、多元分析以及非参数分析等。
(2)Matlab可以用于数据挖掘,如:决策树分类、聚类分析以及因子分析等。
0 MATLAB 程序设计
MATLAB提供了一个完善的程序设计语言环境,使用户能够方便地编制复杂的程序,完成各种计算。本节先介绍关系运算、逻辑运算,再介绍M-文件(即程序文件)的结构及MATLAB的程序控制流语句。
一、关系运算和逻辑运算
1.关系运算
(1)关系运算符:
< ;< = ;> ;> = ;= = ;~ =
(2)关系表达式:
用关系运算符将两个同类型的量(表达式)连接起来的式子。
【注】①关系运算本质上是标量运算,关系表达式的值是逻辑值(0-假1-真);
②当作用于两个同样大小矩阵时,则分别对两个矩阵的对应元素运算,结果是一个0-1矩阵。
例1.对向量进行关系运算。
>> A=1:5,B=5:-1:1 % 输入向量
A = 1 2 3 4 5 B = 5 4 3 2 1
>> C=(A>=4) % 对向量进行关系运算
C = 0 0 0 1 1
>> D=(A==B) % 对向量进行关系运算
D = 0 0 1 0 0
2.逻辑运算
(1)逻辑运算符:& (and,与)、| (or,或)、~ (not,非)
(2)逻辑表达式:用逻辑将两个逻辑量连接起来的式子。
【注】①逻辑运算本质上是标量运算,它将任何非零元素视为1(真);
②当作用于两个同样大小矩阵时,则分别对两个矩阵的对应元素运算,结果是一个0-1矩阵。(真值表见P27)
例2.对向量进行逻辑运算。
>> a=1:9,b=9-a
a = 1 2 3 4 5 6 7 8 9 b = 8 7 6 5 4 3 2 1 0
>> c=~(a>4) % 非运算
实验二 MATLAB程序设计
一、 实验目的
1.掌握利用if语句实现选择结构的方法。
2.掌握利用switch语句实现多分支选择结构的方法。
3.掌握利用for语句实现循环结构的方法。
4.掌握利用while语句实现循环结构的方法。
5.掌握MATLAB函数的编写及调试方法。
二、 实验的设备及条件
计算机一台(带有MATLAB7.0以上的软件环境)。
M文件的编写:
启动MATLAB后,点击File|New|M-File,启动MATLAB的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正
三、 实验内容
1.编写求解方程02cbxax的根的函数(这个方程不一定为一元二次方程,因cba、、的不同取值而定),这里应根据cba、、的不同取值分别处理,有输入参数提示,当0~,0,0cba时应提示“为恒不等式!”。并输入几组典型值加以检验。
(提示:提示输入使用input函数)
2.输入一个百分制成绩,要求输出成绩等级A+、A、B、C、D、E。其中100分为A+,90分~99分为A,80分~89分为B,70分~79分为C,60分~69分为D,60分以下为E。
要求:(1)用switch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
(提示:注意单元矩阵的用法)
3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如:
21
3105168421
63105168421
运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。
请为关键的Matlab语句填写上相关注释,说明其含义或功能。
1 / 9 《MATLAB程序设计》复习题
一 填空题
1 已知A=[2 5 6;1 7 8];B=[1 4 3;4 7 0];写出下列各指令运行的结果。
A & B 的运行结果为 [1 1 1;1 1 0] 。
A== B的运行结果为 [0 0 0 ;0 1 0] 。
2 产生3阶单位阵的命令为 eye(3) ;产生4阶全1方阵的命令为ones(4)。
3 A=rand(5,8);b=size(A);c=length(A);则b和c的值分别为[5,8]和8.
4 求矩阵的特征值的指令为 eig .
5符号 ; 可以使命令行不显示运算结果, % 用来表示该行为注释行。
6在线形图型格式的设置中,字符r表示什么颜色(红色)
7 fix函数四舍五入对数组[3。17,5.34,8.90,2.52]取整,结果为 [3 5
8 2] 。
8 P, Q分别是个多项式的系数矢量,求P对应的多项式的根,使用的命令是 roots(P)
9使2个plot的图形在同一个坐标显示,使用 hold on 命令进行图形保持,使用 grid on 命令为图形添加网格。
10 数据拟合采用___polyfit___函数;求不定积分采用___ int ___函数。
11 A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为_2 5和5__
12已知A是矩阵,求A的对角矩阵函数是___diag(A)____,求A的下三角矩阵函数是__tril(A)____。
13条形图由函数__bar___来实现。
14已知s=‘显示“hey”’,则s的元素个数是9
二 解答题
1、A=[71,3,—8; 2,-9,8; 0,4,5] 2 / 9 B=A’
问B=( )
答案:B=[71,2,0; 3,—9,4 ; —8,8,5]