MATLAB数值计算功能 MATLAB的强大的数值计算功能是使其在众多数学软件中傲视群雄的决定性因素,也是MATLAB软件的基础。 MATLAB中是以矩阵为基本运算单元的,而构成数值矩阵的基本单元是数字。 l数字运算功能 1. 基本的算术运算 在MATLAB中,一般代数表达式的输入就如同在纸上进行演算一样。 四则运算:“+”、“-”、“*”、“/” 乘方:“^” 开方:sqrt 它们的优先级:“^”、 sqrt的优先级最高,“*”、“/” 的优先级次之,“+”、“-”的优先级最低。 常驻变量:pi(圆周率)、i或j(sqrt(-1)),inf(无穷大),NaN(不定值0/0) 在MATLAB的输入格式上,完全继承了C语言的风格和规则。
2. 向量及其运算 直接输入向量:向量元素要用“[ ]”括起来,元素之间可以用空格、逗号分隔生成行向量,用分号分隔生成列向量。 利用冒号表达式生成向量:x = x0 : step : xn 向量与数相加(减):先将数字扩展成同维的且每个元素都等于该数字的向量,再进行加(减)运算。 数乘:将向量的每个元素都乘以该数字。 点积:dot ( A , B ) 叉积:cross ( A , B ) 混合积:dot (A, cross(B,C))
3. 矩阵及其运算 矩阵的加、减、乘运算:“+”、“-”、“*” 矩阵的除法:左除“\”,右除“/” 矩阵与常数间的运算:矩阵的每个元素与此常数进行加减乘除运算,当进行数除时,常数只能作除数。 矩阵的逆运算:inv ( A ) 矩阵的行列式运算:det ( A )
4. 数组及其计算 矩阵的加减法与数组的加减法是一致的,而数组的乘除法是指两同维数组间对应元素之间的乘除法。它们的运算符为“.*”和“./”或“.\”。
5. 多项式及其运算 MATLAB是以向量形式储存多项式的,即将向量元素按降幂顺序分配各系数值。 例:P=[1 –5 6 -45]; poly2sym(P) 求多项式的值:polyval,polyvalm 求多项式的根:roots
l符号运算功能 1. 符号函数的运算 字符串用单引号设定输入或赋值(yesinput命令除外); 字符串的每个字符(包括空格)都是矩阵相应的一个元素; 字符串和字符数组(或矩阵)基本上是等价的。 符号表达式的生成: 创建符号函数:f = ’ log ( x ) ’; 用syms命令 例:syms x f = sin ( x ) + cos (x ) 创建符号方程:eqation = ‘ a*x^2 + b*x + c=0 ’ 符号与数值之间的转换:digits(D)----返回有效数字个数为D的近似精确解 vpa ( s ) ----返回符号表达式在digits函数设置下的精度的数值解 subs和numeric函数 2. 符号矩阵的运算 创立符号矩阵:sym函数,矩阵元素可以是任何不代等号的符号表达式,各符号表达式的长度可以不同,矩阵元素之间可用空格或逗号分隔。 在MATLAB中,数值矩阵不能直接参与符号运算,必须先转化为符号矩阵。 符号矩阵的基本运算与数值矩阵的运算格式相同。
3. 符号方程求解 线性方程组的解析解:linsolve、solve函数,得到方程组的精确解。解析解可由vpa函数转化为浮点近似解。 非线性方程的解析解:由fsolve函数实现。 微分方程的解析解:由dsolve函数实现。
4. 符号函数的二维图 符号函数的简易绘图函数ezplot(f):f 为单变量的字符串或符号表达式,x轴的近似范围为[-2*pi,2*pi]。 绘制函数图函数fplot(fun, lims):fun是字符串函数名的函数,lims = [ xmin xmax ]。
MATLAB的图形工具箱从简单的点、线、面处理发展到集各种功能的二维图形、三维图形甚至四维表现图和对图形进行着色、消隐、光线、渲染及多视角处理等多项功能于一身的强大功能包。 MATLAB作为一种高级计算语言,它不仅能以人机交互式的命令行指令操作方式工作,而且还可以其他高级计算机语言一样进行控制流的程序设计,即编制一种以m为扩展名的文件。 |