matlab简明教程 下载本文

实验1 Matlab初步

一、 问题

已知矩阵A、B、b如下:

????A??????3612?3845?4?46?4?1075?7917?1?681?94612?1310??1???167???8??8?B???810???121???0??229111519441620283666?511325?3?385?1?702???7?5??9?23??5?

b??1357811?

应用Matlab软件进行矩阵输入及各种基本运算。 二、 实验目的 三、实验知识 1、

线性代数中的矩阵及其初等变换、向量组的线性相关性等知

识。 2、

Matlab软件的相关命令提示如下;

(1) 选择A的第i行做一个行向量:ai=A(i,:); (2) 选择A的第j行做一个列向量:ai=A(j,:); (3) 选择A的某几行、某几列上的交叉元素做A的子矩阵:

A([行号],[列号]);

(4) n阶单位阵:eye(n);n阶零矩阵:zeros(n); (5) 做一个n维以0或1为元素的索引向量L,然后取A(:,L),

L中值为1的对应的列将被取到。

(6) 将非奇异矩阵A正交规范化,orth(A) ;验证矩阵A是

否为正交阵,只需做A*A'看是否得到单位阵E。 (7) 两个行向量a1和a2的内积:a1*a2'。

(8) 让A的第i行与第j列互换可用赋值语句:

A([i,j],:)=A([j,i],:);

(9) 让K乘以A的第i行可用赋值语句:A(i,:)=K*A(i,:); (10) 让A的第i行加上第j行的K倍可用赋值语句:

A(i,:)=A(i,:)+K*A(j,:);

(11) 求列向量组的A的一个极大线性无关向量组可用命令:

rref(A)将A化成阶梯形行的最简形式,其中单位向量对应的列向量即为极大线性无关向量组所含的向量,其它列向量的坐标即为其对应向量用极大线性无关组线性表示的系数。

四、实验的内容与要求

1、请在 MATLAB 直接输入下列常数,看它们的值是多少:

解:>>eps e的n次方 解:>> inf 最大值 解:>> nan 0/0 解:>> pi

解:>> realmax 最大值

解:>> realmin

2、MATLAB 的 sqrt 指令可对任一数值进行开平方的运算。用此指

令求出下列各数的平方根,并验算之: 解:>> sqrt(1-i) 解:>>sqrt(2*i) 解:>> sqrt((-5)+12*i) 其中 i 是单位虚数。 3、输入矩阵A、B

1、 作出A的行向量组:a1,a2,a3,a4,a5,a6。 解:>> a1=A(i,:) a1 =

3 4 -1 1 -9 10

2、 作出B的列向量组:b1,b2,b3,b4,b5,b6。 解:>> b1=A(:,j)

3、 由A的一、三、四行和二、三、五列交叉点上的元素作出子矩阵A3。

解:>> A3=A([1,3,4],[2,3,5])

4、 由索引向量L产生取A的第二、四、五行所成的子矩阵A5。 解:>> A5=A([2,4,5],:)

5、 将A的对应的行向量组正交规范为正交向量组A6,并验证所得的结果。 解:>> A6=orth(A) >> A*inv(A)

6、 求a1与a2的内积A7。 解:>> a1*a2'

7、 完成以下初等变换:将A的第一、四行互换,再将其第三列乘以6,再将其第一行的10倍加至第五行。 解:>> A([1,4],:)=A([4,1],:) >> A(:,3)=6*A(:,3) >> A(5,:)=A(5,:)+10*A(1,:)

8、 求B的列向量的一个极大线性无关向量组A9,并将其余的向量用极大线性无关向量组线性表示。 解:>> A9=rref(B) A9 =

1.0000 0 0 -6.8000 6.2000 0 0 1.0000 0 -8.6000 1.4000 0 0 0 1.0000 7.5000 -3.0000 0 0 0 0 0 0