第四章线性代数实验网络教学平台Word文件下载.docx
《第四章线性代数实验网络教学平台Word文件下载.docx》由会员分享,可在线阅读,更多相关《第四章线性代数实验网络教学平台Word文件下载.docx(35页珍藏版)》请在冰豆网上搜索。
rand(m,n)
创建m行n列的(0,1)均匀分布的随机矩阵
正态分布随机矩阵
randn(m,n)
产生均值为0,方差为1的标准正态分布随机矩阵
魔方矩阵
magic(n)
生成一个n阶方阵(其元素由1,2,…n2整数组成,其每行、每列及两条对角线上的元素和都相等)
Vandermonde矩阵
vander(V)
生成以向量V为基础向量的范得蒙矩阵(矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积)
Hilbert矩阵
hilb(n)
生成希尔伯特矩阵(第(i,j)个元素为1/(i+j-1))
Hilbert逆矩阵
invhilb(n)
求n阶的希尔伯特矩阵的逆矩阵
Toeplitz矩阵
toeplitz(x,y)
生成一个以向量x为第一列,向量y为第一行的托普利兹矩阵(除第一行第一列外,其他每个元素都与左上角的元素相同)
Hankel矩阵
hankel(c)
hankel(c,r)
生成一个以向量c为第一列,其它元素是0;
生成一个以向量c为第一列,最后一行是r向量,其中第一个元素以c的为准,r向量是从第二个元素开始的(汉克尔矩阵是反对角线上元素相等矩阵)
伴随矩阵
compan(p)
p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后
帕斯卡矩阵
pascal(n)
生成一个n阶帕斯卡矩阵(由杨辉三角形表组成的矩阵)
Hadamard矩阵
hadamard(n)
n,n/12或,n/20必须是2的乘方。
(哈达玛矩阵是由+1和-1元素构成的正交方阵)
空矩阵
[]
创建一个空矩阵
示例4.1求特殊矩阵
(1)在区间[20,50]内均匀分布的5阶随机矩阵。
x=20+(50-20)*rand(5)
(2)均值为0.6、方差为0.1的5阶正态分布随机矩阵。
y=0.6+sqrt(0.1)*randn(5)
(3)求4阶希尔伯特矩阵及其逆矩阵。
formatrat%以有理形式输出
H=hilb(4)
H=invhilb(4)
(4)已知c=1:
3;
r=7:
10;
求其Hankel矩阵。
c=1:
(5)求(x+y)5的展开式。
pascal(6)
矩阵次对角线上的元素1,5,10,10,5,1即为展开式的系数。
4.1.5符号矩阵的生成
表4.2符号矩阵生成
生成方法
命令格式
直接创建
sym('
[,,,]'
)
矩阵元素可以是任何的符号变量、符号表达式及方程,且元素的长度可以不同。
间接创建
syms
在创建符号矩阵之前,先把符号矩阵的
所有变量定义为符号变量,然后按创建普通矩阵的格式输入矩阵
由数值矩阵转化为符号矩阵
B=sym(A)
将一个数值矩阵A转化为符号矩阵B
注:
数值矩阵A转换成符号矩阵B,可以通过whos命令来详细查看这两类矩阵的区别。
4.2矩阵操作
4.2.1元素变换操作
有已知矩阵A,由A的元素构成的各种矩阵分别如表4.3所示。
表4.3矩阵元素变换操作表
元素操作名称
操作命令格式
对角阵
diag(A);
diag(A,k);
diag(V);
diag(V,k)
提取矩阵A主对角线元素产生一个具有min(m,n)个元素的列向量;
提取第k条对角线的元素,主对角线为0,向上为第1,2…条,向下为-1,-2…条;
产生一个m×
m对角矩阵,其主对角线元素即为向量V的元素;
产生一个n×
n(n=m+|k|)对角阵,其第k条对角线的元素即为向量V的元素
(只有对角线上有非0元素的矩阵称为对角矩阵,对角线上的元素相等的对角矩阵称为数量矩阵,对角线上的元素都为1的对角矩阵称为单位矩阵。
上三角阵
triu(A);
triu(A,k)
求矩阵A的上三角阵;
求矩阵A的第k条对角线以上的元素
(对角线以下的元素全为0的一种矩阵)
下三角阵
tril(A);
tril(A,k)
求矩阵A的下三角阵;
求矩阵A的第k条对角线以下的元素
(对角线以上的元素全为0的一种矩阵)
转置矩阵
A′
transpose(S)
求矩阵A的转置(行列互换)
符号矩阵S的转置矩阵
旋转矩阵
rot90(A,k)
矩阵A旋转90º
的k倍,当k为1时可省略
左右翻转矩阵
fliplr(A)
对矩阵A实施左右翻转(将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…,依次类推。
上下翻转矩阵
flipud(A)
对矩阵A实施上下翻转
改变矩阵大小
reshape(A,m,n)
在矩阵总元素保持不变的前提下,将矩阵A重新排成m×
n的二维矩阵
提取子阵
A(:
);
A(k,:
k);
A([klm],[rs])
取出矩阵A成一列向量
取出矩阵A第k行成一行向量
取出矩阵A第k列成一列向量
取出矩阵A第k、l、m行及第r、s列成一新矩阵
示例4.2矩阵扩展
(1)矩阵的数值扩展
A=[14;78]
A(3,3)=5
(2)合成扩展
C=[15;24;27]
d=[AC]
(3)提取子阵
d1=d([13],:
d2=d([12],[35])
(4)提取矩阵中的某元素
d3=d(2,4)
示例4.3矩阵重构
已知矩阵
,做如下元素操作:
①将矩阵的每一个元素取绝对值构成矩阵Y1;
取矩阵元素的绝对值大于2的逻辑值构成矩阵Y2;
取矩阵元素的绝对值大于2的元素构成向量Y3;
取逻辑值为1按序对应的元素构成向量Y4;
取矩阵的2、1、3、l列元素构成子矩阵Y5;
矩阵中绝对值大于等于3的元素赋值为0.
A=[-13-45;
-34-20;
4-216];
Y1=abs(A)
Y2=abs(A)
Y3=A(abs(A)>
2)
Y4=A(find([10110101]))
Y5=A(:
[2131])
Y6=A(abs(A)>
=3)=0
数据矩阵的变换操作函数对符号矩阵大部分都适用,可直接应用于符号矩阵。
示例4.4符号矩阵元素变换操作
A=sym('
[sinx(x),cos(x);
acos(x),asin(x)]'
B=transpose(A)
C=diag(A,1)
D=triu(A)
E=flipud(A)
4.2.2数据操作
表4.4矩阵数据操作表
数据操作名称
最大元素
max(X);
[y,k]=max(X);
max(A);
[Y,U]=max(A);
max(A,[],dim);
max(A,B);
max(A,n)
求向量X的最大元素;
y记录X最大元素,k记录序号;
求矩阵A每列的最大元素;
Y记录A的每列的最大元素,U记录每列的最大元素的行号;
dim=1同max(A),按列求
dim=2,返回列向量,第i个元素是A上第i行上的最大元素;
两向量或矩阵比较,取对应元素较大者;
同标题n比较,取对应元素较大者
最小元素
min(A)
求矩阵A每列的最小元素
和
sum(X))
sum(A,dim)
求向量X或矩阵A各列元素的和,A可为向量或矩阵,dim用法同上
积
prod(X))
prod(A,dim)
求向量X或矩阵A各列元素的积;
dim=1按列求,dim=1按行求
累计和
cumsum(X))
cumsum(A,dim)
求向量X或矩阵A各列元素的累计和;
累计积
cumprod(X))
cumprod(A,dim)
求向量X或矩阵A各列元素的累计积;
平均值
mean(X);
mean(A,dim)
求向量X或矩阵A各列元素的平均值;
中值
median(A)
median(A,dim)
求向量X或矩阵A各列元素的中值;
标准差
std(X)
std(A,flag,dim)
求向量X或矩阵A各列元素的标准差;
flag=0,无偏差方差,1为有偏差方差;
相关系数
corrcoef(A)
corrcoef(X,Y)
由矩阵A形成的一个相关系数矩阵,把每列作为一个向量;
X,Y是向量
元素排序
sort(X)
[Y,I]=sort(A,dim)
按升序对向量X中元素进行排序;
Y是排序后的矩阵,I记录Y中的元素在A中位置
行升序排列
sortrows(A)
按升序排列矩阵各行
数值积分
cumtrapz(A,dim)
梯形法求累积数值积分
示例4.6矩阵数据操作
,做如下计算:
(1)求矩阵A每列的最大元素赋给max
(2)求矩阵A每列的最小元素赋给min;
(3)求矩阵A列元素的平均值赋给me;
(4)求矩阵A列元素的中值赋给ded
(5)求矩阵A元素的标准差赋给ndl
(6)求矩阵A各列元素的和赋给sum
max=max(A)
min=min(A)
me=mean(A)
med=median(A)
std=std(A)
sum=sum(A)
4.3多项式运算
4.3.1多项式运算
Matlab有专门的函数进行多项式计算。
用赋值语句将多项式计算结果赋给变量是处理多项式计算的通常方式。
多项式运算中常用命令如表4.5所示,其中字母a,b表示多项式对应的系数向量,按未知量次数由高向低排列,空的补零。
表4.5多项式运算
多项式运算名称
计算多项式的值
polyval(a,x)
x可以为向量或矩阵
多项式的加法(减法)
a+b(a-b)
如果两个多项式的阶数相同,则可直接进行加减,如果两个多项式阶
数不同,则需用旨零填补,使之具有和高阶的多项式一样的阶数。
多项式的乘法
conv(a,b)
矩阵A中每个元素加数k
多项式除法
[q,r]=deconv(c,a)
c(x)多项式除以a(x)多项式
q是商多项式的系数向量,r是余数多项式的系数向量
多项式求根
roots(c)
多项式的系数向量构成的方程的根
多项式的微分
polyder(a)
多项式的导函数
多项式的乘积进行求