MATLAB中的线性代数 | 您所在的位置:网站首页 › matlab中remezord函数 › MATLAB中的线性代数 |
在MATLAB中常用线性代数命令字符以及调用格式 ==本文基于MATLAB2012a版本== 主要包括多项式、行列式、矩阵的生成、取块和基本运算以及求解线性方程组、特征值和特诊多项式 多项式多项式表达式与根 poly2sym(p) %返回由多项式系数转换为多项式函数p(x)表达式 polyval(p,2) %返回多项式函数p(x)当x=a时的值 roots(p) %返回多项式函数p(x)的所有复数根 poly(r) %返回由根组成的向量r创建的多项式函数篇p(x)的系数 多项式四则运算conv(p1,p2) %返回多项式函数p1(x)和p2(x)的乘积 [q,r]=deconv(p1,p2) %返回多项式函数p1(x)和p2(x)的商式q(x)和余式r(x) MATLAB中多项式加减运算与乘除法不同: 在MATLAB中多项式用行矩阵表示,多项式相加就是对应的行矩阵相加。 为了解决**多项式次数可能不同**而得到**不同型的行矩阵**从而导致无法相加的问题 解决方法: 将对应的行矩阵化为同型矩阵, 实例: clear p1=[1 0 -2 1]; p2=[-1 0 1 0 -2 3]; m=length(p1);n=length(p2); t=max(m,n); p1=[zeros(1,t-m),p1] p2=[zeros(1,t-n),p2] p=p1+p2 多项式的分解与合并>符号运算 syms x collect(f) %对符号多项式f进行合并同类项 expand(f) %对符号多项式f进行展开 horner(f) %对符号多项式f进行嵌套分解 factor(f) %对符号多项式f进行因式分解 有理分式的分解与合并[a,b,r]=residue(p,q) %返回将p(x)/q(x)分解为最简分数之和 [p,q]=residue(a,b,r) %返回将简单分式之和合并为有理分式,a表示分子,b表示和a对应分式的分母的根,r表示整式 MATLAB中``[ ]``表示为空,当返回结果为``r=[ ]``表示为无整数部分 行列式det(A) %计算A的行列式值,A为数值或符号方阵 示例: D=[2 -3 -1 2;1 -5 3 -4;0 2 1 -1;-5 1 3 -3]; det(D) 注意点:一行行读,横着写,每一行以分号隔开 衍生运用: 克莱默法则求解线性方程组 矩阵矩阵矩阵的生成| 函数 | 功能 | | zeros(m,n)函数 | 生成m行n列全部元素为0的矩阵 | | ones(m,n)函数 | 生成m行n列全部元素为1的矩阵 | | rand(m,n)函数 | 生成m行n列全部在0到1的均匀分布随即元素的矩阵 | | randn(m,n)函数 | 生成m行n列全部为标准正态分布随机元素的矩阵 | | magic(n)函数 | 生成n阶幻方方阵(魔阵),即每行每列和对角线上元素之和相等 | | diag(M)函数 | 从矩阵**M**对角线元素生成一列数据或将一列数组**M**生成一个对角阵| | triu(M)函数 | 取矩阵**M**的对应元素生成上三角矩阵 | | tril(M)函数 | 取矩阵**M**的对应元素生成下三角矩阵 | | length(M)函数 | 返回向量**M**的长度| | size(M)函数 | 返回矩阵**M**的行数和列数| | eye(n)函数 | 生成n阶单位阵 | | hilb(n)函数 | 生成n阶希尔伯特(Hibert)病态矩阵| | pascal(n) | 生成n阶的帕斯卡(Pascal)矩阵| 矩阵的取块和变换A(,:) %提取矩阵A的第i行 A(:,j) %提取矩阵A的第j行 A(:) %将矩阵A的各列元素依次排成一行向量 A(i:j) %将矩阵A(;)的第i个到第j个的元素依次排成一行向量 A(i:j,:) %提取矩阵A的第i行到第j行的所有元素所成的矩阵 A(:,i:j) %提取矩阵A的第i列到第j列的所有元素所成的矩阵 A(i:j,k:l) %提取矩阵A的第i行到第j行以及第k列到第l列的所有元素所成的子阵 B=reshape(A,m,n) %将矩阵中A的元素依次序组成一个m行n列的矩阵B B=rot90(A) %将矩阵A逆时针旋转90°得到新矩阵B B=fliplr(A) %将矩阵A中的元素左右对称得到新矩阵B B=flipud(A) %将矩阵A中的元素上下对称得到新矩阵B flipdim(A,1)=flipud(A) flipdim(A,2)=fliplr(A) A(2,:)=[ ] %将矩阵A的第2行删除 A(A>5)=1 %将矩阵中的所有大于6的元素赋值为1 矩阵的基本运算| 命令 | 注释 | | A±B | 矩阵A加减矩阵B | | A+k | 矩阵A的所有元素加上数k | | `A*B` | 矩阵A的乘以矩阵B | | `k*A,A*k` | 矩阵A的所有元素乘以数k | | `A.*B` | 将矩阵的各个元素对应和矩阵B中的元素相乘 | | `A./B` | 将矩阵的各个元素对应和矩阵B中的元素相除 | | `A/B` | 右除 | | `A\B` | 左除 | | `A.'` | 得到矩阵A的转置 | | `A'` | 得到矩阵A的共轭转置,在实数域内就是转置 | | `inv(A)或A^(-1)` | 得到矩阵A的逆矩阵,A应该为可逆阵 | | `A^k` | 矩阵A的k次幂 | | `sqrtm(A)或A^(1/2)` | 矩阵A的开方,其平方为A | | `sqrt(A)` | 矩阵A的对应元素开方 | 求解线性方程组rank(A) %得到矩阵A的秩 rref(A) %得到矩阵A的行最简形 bull(A) %得到系数矩阵为A的齐次方程组基础解系 null(A,`r`) %得到系数矩阵为A的齐次方程组有理数形式的基础解系 当原方程组(即AX=b)无解的时候,由于实际应用中需要求出最小二乘解(使得向量AX=b的长度达到最小的解) 在此情况下,通过输入`X=A\b`得到该方程组的最小二乘解 特征值和特征多项式trace(A) %得到矩阵A的迹 ploy(A) %得到矩阵A的特征多项式系数 [a,b]=eig(A) %得到矩阵A的特征列向量矩阵a和对应特征值组成额度对角阵b B=orth(A) %正交化空间,即矩阵B的列向量正交且生成的线性空间与矩阵A的列向量生成的线性空间等价 |
CopyRight 2018-2019 实验室设备网 版权所有 |