第四章线性代数实验网络教学平台.docx

上传人:b****2 文档编号:16955 上传时间:2022-10-01 格式:DOCX 页数:35 大小:236.62KB
下载 相关 举报
第四章线性代数实验网络教学平台.docx_第1页
第1页 / 共35页
第四章线性代数实验网络教学平台.docx_第2页
第2页 / 共35页
第四章线性代数实验网络教学平台.docx_第3页
第3页 / 共35页
第四章线性代数实验网络教学平台.docx_第4页
第4页 / 共35页
第四章线性代数实验网络教学平台.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

第四章线性代数实验网络教学平台.docx

《第四章线性代数实验网络教学平台.docx》由会员分享,可在线阅读,更多相关《第四章线性代数实验网络教学平台.docx(35页珍藏版)》请在冰豆网上搜索。

第四章线性代数实验网络教学平台.docx

第四章线性代数实验网络教学平台

第4章线性代数

【教学目的】使学生学会使用MATLAB计算行列式、求逆矩阵、求矩阵的特征值和特征向量;会用MATLAB进行矩阵的初等变换、求线性方程组的解,会求几个特殊矩阵方程的解。

【教学重点、难点】矩阵运算、线性方程组求解

4.1矩阵的生成

4.1.1通过元素列表榆入

4.1.2通过外部数据加载

4.1.3在M文件中创建矩阵

4.1.4通过函数产生矩阵

线性代数中有若干特殊意义的矩阵,在Matlab中可以很容易的通过函数的方式创建它们,见表4.1。

其中:

matlab函数名必须小写。

表4.1特殊矩阵函数表

特殊矩阵名称

函数命令格式

功能简介

全零矩阵

zeros(m,n)

zeros(n)

zeros(size(A))

创建m行n列的全零矩阵;

创建n行n列的全零矩阵;

产生一个与矩阵A同样大小的零矩阵

全1矩阵

ones(m,n)

创建m行n列的全1矩阵

单位矩阵

eye(m,n)

创建m行n列的对角线为1的矩阵

随机矩阵

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:

3;r=7:

10;

hankel(c,r)

(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,:

);

A(:

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各列元素的累计和;dim=1按列求,dim=1按行求

累计积

cumprod(X))

cumprod(A,dim)

求向量X或矩阵A各列元素的累计积;dim=1按列求,dim=1按行求

平均值

mean(X);

mean(A,dim)

求向量X或矩阵A各列元素的平均值;dim=1按列求,dim=1按行求

中值

median(A)

median(A,dim)

求向量X或矩阵A各列元素的中值;dim=1按列求,dim=1按行求

标准差

std(X)

std(A,flag,dim)

求向量X或矩阵A各列元素的标准差;flag=0,无偏差方差,1为有偏差方差;dim=1按列求,dim=1按行求

相关系数

corrcoef(A)

corrcoef(X,Y)

由矩阵A形成的一个相关系数矩阵,把每列作为一个向量;

X,Y是向量

元素排序

sort(X)

[Y,I]=sort(A,dim)

按升序对向量X中元素进行排序;

按升序对向量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)

多项式的导函数

多项式的乘积进行求

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1