第二讲 MATLAB的数值计算—— matlab 具有出色的数值计 算能力,占据世界上数值计算软 件的主导地位
数值运算的功能创建矩阵 矩阵运算 多项式运算 线性方程组 数值统计 线性插值 函数优化 微分方程的数值解
一、命令行的基本操作1. 创建矩阵的方法
直接输入法 规则: 矩阵元素必须用[ ]括住 矩阵元素必须用逗号或空格分隔 在[ ]内矩阵的行与行之间必须 用分号分隔
》a=1; b=2; c=3; 》x=[5 b c; a*b a+c c/b] x= 5.000 2.000 3.000 2.000 4.000 1.500 》y=[2, 4, 5; 3 6 8] y= 2 4 5 3 6 8
矩阵元素矩阵元素可以是任何matlab表达式 ,可以
是实数 ,也可以是复数,复数可用特殊函数I,j 输入。大的矩阵可以用分行输入,
回车键代表分号。a=[1 2 3;4 5 6]
x=[2 pi/2; sqrt(3) 3+5i]
符号的作用逗号和分号的作用 逗号和分号可作为指令间 的分隔符,matlab允许多条语句 在同一行出现。 分号如果出现在指令后, 屏幕上将不显示结果。
注意:只要是赋过值的变量,不管是
否在屏幕上显示过,都存储在工作空间中,以后可随时显示或调用。变量
名尽可能不要重复,否则会覆盖 。当一个指令或矩阵太长时,可用 续行
冒号的作用
用于生成等间隔的向量,默认间隔为1。
用于选出矩阵指定行、列及元 素。 循环语句
2.用matlab函数创建矩阵空阵 [ ] — matlab允许输入空阵,当一 项操作无结果时,返回空阵。 rand —— 随机矩阵eye —— 单位矩阵
zeros ——全部元素都为0的矩阵ones ——全部元素都为1的矩阵
diag ——产生对角矩阵
例 》eye(2,3)ans= 1 0 0 0 1 0 》ones(2,3) ans= 1 1 1 1 1 1 》V=[5 7 2];A=diag(V) A= 5 0 0 0 7 0 0 0 2
》zeros(2,3) ans= 0 0 0 0 0 0
例 》eye(2) ans= 1 0 0 1 》zeros(2) ans= 0 0 0 0 》ones(2) ans= 1 1 1 1
例 在区间[20,50]内均匀分布的5阶随机 矩阵。 命令如下: x=20+(50-20)*rand(5)此外,常用的函数还有reshape(A,m,n), 它在矩阵总元素保持不变的前提下,将 矩阵A重新排成m×n的二维矩阵。
也可用linspace函数产生行向量。其调用 格式为: linspace(a, b, n) 其中a和b是生成向量的第一个和最后一 个元素,n是元素总数。 例 》a=linspace(1 , 10 , 10) a= 1 2 3 4 5 6 7 8 9 10
还有伴随矩阵、稀疏矩阵、魔方矩阵 (magic)、对角矩阵、范德蒙等矩阵的 创建,就不一一介绍了。
注意:matlab严格区分大小写字母,因此a与A是两个不同的变量。 matlab函数名必须小写。
3.用m文件创建矩阵对于比较大且比较复杂的矩阵,可 以为它专门建立一个M文件。下面通 过一个简单例子来说明如何利用M文 件创建矩阵。
例 利用M文件建立MYMAT矩阵。
(1) 启动有关编辑程序或Matlab文本编辑器, 并输入
待建矩阵。 (2) 把输入的内容以纯文本方式存盘(设文 件名为mymatrix.m)。 (3) 在Matlab命令窗口中输入mymatrix,即 运行该M文件,就会自动建立一个名为 MYMAT的矩阵,可供以后使用。