420 likes | 671 Views
Matlab 软件简介 哈尔滨理工大学 数学建模组. Matlab 是数学建模常用软件之一,也是在各个专业领域,特别是在工程实际领域应用最广泛的计算软件,并已成为一个通用的计算工具。. MATLAB 概述. 1. MATLAB 的发展 MATLAB 语言是由美国的 Clever Moler 博士于 1980 年开发的。 设计者的初衷是为解决“线性代数”课程的矩阵运算问题。 取名 MATLAB 即 Mat rix Lab oratory 矩阵实验室的意思。. 2. Matlab 的影响.
E N D
Matlab软件简介 哈尔滨理工大学 数学建模组
Matlab是数学建模常用软件之一,也是在各个专业领域,特别是在工程实际领域应用最广泛的计算软件,并已成为一个通用的计算工具。Matlab是数学建模常用软件之一,也是在各个专业领域,特别是在工程实际领域应用最广泛的计算软件,并已成为一个通用的计算工具。
MATLAB概述 • 1. MATLAB的发展 MATLAB语言是由美国的Clever Moler博士于1980年开发的。 设计者的初衷是为解决“线性代数”课程的矩阵运算问题。 取名MATLAB即MatrixLaboratory矩阵实验室的意思。
2. Matlab的影响 • 就影响而言,至今仍然没有一个别的计算软件可与MATLAB匹敌。 • 在欧美大学里, MATLAB是大学生必须掌握的基本工具,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。 • 在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。
3. MATLAB语言的特点: • 语言简洁紧凑,语法限制不严,程序设计 • 自由度大,可移植性好 • 运算符、库函数丰富 • 图形功能强大 • 界面友好、编程效率高 • 扩展性强
它将一个优秀软件的易用性与可靠性、通用性与专业性 、一般目的的应用与高深的科学技术应用有机地相结合。 • MATLAB是一种直译式的高级语言,比其它程序设计语言容易。
4. Matlab能在各领域做什么 • 工业研究与开发 • 数学教学,特别是线性代数 • 数值分析和科学计算方面的教学与研究 • 电子学、控制理论和物理学等工程和科学学科 方面的教学与研究 • 经济学、化学和生物学等计算问题的所有其他 领域中的教学与研究
MATLAB工具箱 MATLAB包含两部分内容:基本部分和各种可选的工具箱。MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。 许多学科,在MATLAB中都有专用工具箱,现已有30多个工具箱,但MATLAB语言的扩展开发还远远没有结束,各学科的相互促进,将使得MATLAB更加强大。
MATLAB主工具箱 • 符号数学工具箱 • SIMULINK仿真工具箱 • 控制系统工具箱 • 信号处理工具箱 • 图象处理工具箱 • 通讯工具箱 • 系统辨识工具箱 • 神经元网络工具箱 • 金融工具箱
5. MATLAB的简单应用 • 5.1 在线性代数中的应用MATLAB以矩阵作为数据操作的基本单位,可以清楚地看到线性代数的运算由Matlab轻松完成。
矩阵的运算 • A = [1 2 0; 2 5 -1; 4 10 -1] %输入矩阵A • A = • 1 2 0 • 2 5 -1 • 4 10 -1
矩阵的转置 • B = A’ %A的转置 • B = • 1 2 4 • 2 5 10 • 0 -1 -1
矩阵的乘积 • C = A * B • C = • 5 12 24 • 12 30 59 • 24 59 117
矩阵求逆 • X = inv(A) • X = • 5 2 -2 • -2 -1 1 • 0 -2 1
矩阵的特征值 • eig(A) • ans = • 3.7321 • 0.2679 • 1.0000
2.无穷多解情况 用函数rref将增广矩阵化为最简形,如 用rref化简,有
ans= 1 0 0 0 -2 3 0 1 0 0 -1 1 0 0 1 0 1 2 0 0 0 1 -2 0 则方程的解即可给出
例 求超定方程组 的最小二乘解。 解: 原方程组写成矩阵形式为 则正规方程组为
即 令 , , 利用MATLAB中矩阵的左除 >>X=A\b 即得
5.2 在高等数学中的应用 • Matlab和著名的符号计算语言Maple相结合,使得Matlab具有符号计算功能。 • 符号运算即用字符串进行数学分析。 • 允许变量不赋值而参与运算。 • 用于微积分、复合导数、积分、二重积分、有理函数、微分方程、泰勒级数展开、寻优等等,可求得解析符号解。
5.2.1.求根 • 例1 求方程 3x4+7x3 +9x2-23=0的全部根。
5.2.2.符号极限 limit(F,x,a) 计算符号表达式F在x→a下的极限。 例2.计算
5.2.3符号微分 求符号表达式S的微分 (即求一元导数) 例3 求 diff(S)
5.2.4符号积分 计算表达式S对符号自变量的不定积分 。 int(S,v)
计算表达式S对默认符号变量从a到b的定积分; a和b为双精度或符号变量。 计算表达式S对变量v从a到b的定积分 int(S,a,b) int(S,v,a,b)
5.2.5.解微分方程 • 在matlab中,用大写字母D表示微分方程的导数,例如Dy表示y’,D2y表示y”;D2y+Dy=6*x= 0;Dy(1)=2表示y’(1)=2; 命令格式:
求解方程 例 解 求解方程 例 解
5.3概率应用实例 在MATLAB中用命令binocdf 很容易得到结果。 例 某人进行射击,设每次射击的命中率为0.028, 独立射击1000次,试求至少击中20次的概率。 解:设击中的次数为X,则X~b(1000,0.028). X的分布率为 于是所求的概率为
>> R=1-binocdf (19,1000,0.028) R = 0.9544
5.4概率应用实例-蒙特卡罗方法计算 随机投石试验 n 很大 均匀分布在正方形中 假定有k个落在四分之一圆里 图5.1 随机投一块小石头落在四分之一单位圆里 向图中边长为1的正方形里随机投n块小石头
5.1.4应用实例-蒙特卡罗方法计算 分析: “向图5.1中正方形随机投一块小石头落在四分之一单位圆里” 事件A发生 单位圆面积 概率p(A) 伯努利定理 独立重复做n次试验,事件A发生k次
5.1.4应用实例-蒙特卡罗方法计算 • 现利用计算机完成n次投石试验,采用[0,1]区间上的均匀分布产生相互独立的随机数。 • 记这样产生的n个点的坐标为 • 事件A发生的个数是满足 的个数k,由伯努利定理,p可用k/n近似替代。
5.1.4应用实例-蒙特卡罗方法计算 解: 编写M文件如下: 重复计算4次,计算结果: p = 3.1364 p = 3.1360 p = 3.1484 p = 3.1396 当n提高到50000时, 重复计算4次,计算结果: p = 3.1396 p = 3.1431 p = 3.1296 p = 3.1421 n=10000; x=rand(2,n); k=0; for i=1:n if x(1,i).^2+x(2,i).^2<=1 k=k+1; end end p=4*k/n
5.4 绘图功能 1.二维图形 plot(y)、 ezplot是绘制二维图形常用的命令 例 画出函数 在-5 x 5的图形。 解:
2.三维图形 函数mesh用来生成函数的网格曲面 例 画出函数
cylinde(r,n) —— 三维柱面绘图函数 r 为半径;n为柱面圆周等分数 例:绘制三维陀螺锥面 t1=0:0.1:0.9; t2=1:0.1:2; r=[t1 -t2+2]; [x,y,z]=cylinder(r,30); surf(x,y,z); grid