MATLAB上机实验1答案 下载本文

内容发布更新时间 : 2024/6/13 10:04:11星期一 下面是文章的全部内容请认真阅读。

实验1 Matlab初步

一、

问题

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

?3?6??1A???2??3??8?1?7??8B???10?12??245?4?46?4291115194?1075?79420283616?5117?1?6816?385?94612?1310??16???8?? ?8?1??0?13?125?706?32??7??5?? 9?23??5?b??1357811?

应用Matlab软件进行矩阵输入及各种基本运算。 二、

实验目的

学会使用Matlab软件构作已知矩阵对应的行(列)向量组、子矩阵及扩展矩阵,实施矩阵的初等变换及线性无关向量组的正交规范化,确定线性相关相关向量组的一个极大线性无关向量组,且将其余向量用极大线性无关向量组线性表示,并能编辑M文件来完成所有的实验目的。 三、

预备知识

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 直接输入下列常数,看它们的值是多少:

a i b j c eps d inf e nan f pi

g realmax h realmin

解:>> a=i a =

0 + 1.0000i

>> b=j b =

0 + 1.0000i

>> c=eps c =

2.2204e-016

>> d=inf d =

Inf

>> e=nan e =

NaN

>> f=pi f =

3.1416

>> g=realmax g =

1.7977e+308

>> h=realmin h =

2.2251e-308

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

方根,并验算之: a) 1-i b) 2*i

c) -5+12*i

其中 i 是单位虚数。 解:>> a=sqrt(1-i) a =

1.0987 - 0.4551i

>> b=sqrt(2*i) b =

1.0000 + 1.0000i

>> c=sqrt(-5+12*i) c =

2.0000 + 3.0000i