Matlab线性代数

Matlab线性代数
Matlab线性代数

西安交通大学

电气410

张亚东

线性代数实验报告

电气410 张亚东

一、利用matlab操作矩阵基本运算,矩阵初等变换和秩的求解`,

有关方阵的特征值和特征向量的求解。

(1)同型矩阵的加减乘除

a=[2,1,1;1,2,1;1,1,2];

f=[1,2,3;0,1,2;9,1,2];

a+f

a-f

a*f

a/f

运行结果;

(2)矩阵的转置

f=[1,2,3;0,1,2;9,1,2];

f’

运行结果:

(3)数乘

f=[1,2,3;0,1,2;9,1,2];

x=2;

x*f 运行结果:

(4)初等变换

a=A(r,c) %将A的第r行第c列的元素赋给变量a

A(r,: )=k*A(r,: ) %把矩阵A的第r行第c列乘以数字k

A(:,c)=s*A(:,c) %把矩阵A的第c列乘以数字s

a([i,j],: )=a([j,i].: ) %交换矩阵a的第i行和第j行 a(j,: )=a(j,: )+k*a(i,: ) %矩阵a的第i行乘以常数k加到第j行

(5)秩的求解

a=[2,1,1;1,2,1;1,1,2];

rank(a);

运行结果:

(6)方阵的特征值和特征向量的求解

a=[2,1,1;1,2,1;1,1,2];

[tx,ty]=eig(a)

(7)求矩阵的逆

a=inv(B);

二、下图给出了某城市部分单行道的交通流量(每小时通过的车辆数)图中有6个路口,已有9条街道记录了当天的平均车流量,另有7处的平均车流量未知。试利用每个路口的进出车流量相等关系来推算这7处的平均车流量。

(1)实验问题

利用每个路口的进出车流量相等关系来推算这

7处的平均车流量;

(2)问题分析

根据每个路口进出车流量相同,列出方程,

解方程,求出增广矩阵,得出通解;

(3)程序设计

b=[0,1,0,0,-1,0,0,200;1,-1,0,1,0,0,0,200;1,0,1,0,0,0,0,800;0,0,1,0,0,1,0,600;0,0 ,0,1,0,1,-1,0;0,0,0,0,-1,0,1,200];

matrix=rref(b)

(4)问题求解结果与结论

得出通解:

(x1,x2,x3,x4,x5,x6,x7)=(200,0,600,0,-200,0,0,0)

+k1(1,0,-1, -1,0,1,0)+k2(0,1,0,1,1,0,1)

注:每个k1,k2值必须满足x1,x2,x3,x4,x5,x6,x7均大于或等于零。(5)问题的进一步拓展与实验

做出以上结果后,进行了进一步的思考:

“7个自变量的值可以确定吗?是否有遗漏的方程未列出”分析与实验:

(a)猜想:学生根据物理中曾学到的基尔霍夫定律猜想:这

样的交通线路是否也有与电路类似的情况呢?

(b)实验:

在六个原有的方程上增加一个大的回路的方程

即:x1+x2+x5+x6+x7-x3=0;

修改程序变为:

b=[0,1,0,0,-1,0,0,200;1,-1,0,1,0,0,0,200;1,0,1,0,0,0,0,800; 0,0,1,0,0,1,0,600;0,0,0,1,0,1,-1,0;0,0,0,0,-1,0,1,200;1,1,-1,0,1,1,1,0];

matrix=rref(b)

得出结果:

(c)分析结果:

虽然仅6个方程还是无法解出每个未知数的值,但题目隐含条件每个未知数均大于或等于零,于是由倒数第二、三行得出x7=200;从而x1=200,x2=200,x3=600,x4=600,x5=0,x6=0;

(d)思考结果得出结论:

考虑到实际的问题,车流量与电流虽有相似之处,但由于在统计车流量时,车的转向问题导致了一辆车可能被统计过多次,如果再按照电路的情况类比,就会导致写出的表达式不能表达出车辆在一个回

路里守恒的意义,所以这样的添加的这样一个方程是错误的。而真正表达守恒意义的是原本的6个方程;添加的由电路所类比得到的方程“x1+x2+x5+x6+x7-x3=0”由于统计时一辆车被统计多次而无法表达与电路中基尔霍夫定律相同的意义,所以猜想错误,

(6)实验的总结与体会:

用Matlab 操作矩阵的变换和求与矩阵有关的问题时非常方便,通过自己动手动脑用眼观察对已学的知识有了更深刻的印象;同时也感到用Matlab解决实际问题非常方便,能很快对问题进行解决,激发了我对数学建模的兴趣;自己在进行“猜想-实验-分析结果-总结思考”时,利用自己已有的知识对未知的情况进行了大胆的猜测与实验,并辩证的分析问题,找出相似问题之间的差异和出现问题的关键,自己虽然否定了自己,但研究问题的过程很有意义,体会到了研究问题过程中的快乐。

2014年12月8日

Matlab线性代数实验指导书

Matlab线性代数实验指导书 理学院线性代数课程组 二零零七年十月

目录 一、基础知识 (1) 1.1、常见数学函数 (1) 1.2、系统在线帮助 (1) 1.3、常量与变量 (2) 1.4、数组(矩阵)的点运算 (3) 1.5、矩阵的运算 (3) 二、编程 (4) 2.1、无条件循环 (4) 2.2、条件循环 (5) 2.3、分支结构 (5) 2.4、建立M文件 (6) 2.5、建立函数文件 (6) 三、矩阵及其运算 (7) 3.1、矩阵的创建 (7) 3.2、符号矩阵的运算 (11) 四、秩与线性相关性 (14) 4.1、矩阵和向量组的秩以及向量组的线性相关性 (14) 4.2、向量组的最大无关组 (14) 五、线性方程的组的求解 (16) 5.1、求线性方程组的唯一解或特解(第一类问题) (16) 5.2、求线性齐次方程组的通解 (18) 5.3、求非齐次线性方程组的通解 (19) 六、特征值与二次型 (22) 6.1、方阵的特征值特征向量 (22) 6.2、正交矩阵及二次型 (23)

一、基础知识 1.1常见数学函数 函数数学计算功能函数数学计算功能 abs(x) 实数的绝对值或复数的幅值floor(x) 对x朝-∞方向取整acos(x) 反余弦arcsinx gcd(m,n) 求正整数m和n的最大公约数acosh(x) 反双曲余弦arccoshx imag(x) 求复数x的虚部angle(x) 在四象限内求复数x的相角lcm(m,n)求正整数m和n的最小公倍 自然对数(以e为底数) asin(x) 反正弦arcsinx log(x) 常用对数(以 10 为底数) asinh(x) 反双曲正弦arcsinhx log10(x) atan(x) 反正切arctanx real(x) 求复数 x 的实部atan2(x,y) 在四象限内求反正切rem(m,n) 求正整数m和n的m/n之余数atanh(x) 反双曲正切arctanhx round(x) 对x四舍五入到最接近的整数 符号函数:求出 x 的符号ceil(x) 对x朝+∞方向取整 sign(x) conj(x) 求复数x的共轭复数 sin(x) 正弦sinx 反双曲正弦sinhx cos(x) 余弦cosx sinh(x) cosh(x) 双曲余弦coshx sqrt(x) 求实数x的平方根exp(x) 指数函数e x tan(x) 正切tanx fix(x) 对 x 朝原点方向取整 tanh(x) 双曲正切tanhx 如:输入 x=[-4.85 -2.3 -0.2 1.3 4.56 6.75],则: ceil(x)= -4 -2 0 2 5 7 fix(x) = -4 -2 0 1 4 6 floor(x) =-5 -3 -1 1 4 6 round(x) = -5 -2 0 1 5 7 1.2 系统的在线帮助 1.2.1 help 命令: 1.当不知系统有何帮助内容时,可直接输入 help以寻求帮助: >> help(回车) 2.当想了解某一主题的内容时,如输入: >> help syntax (了解Matlab的语法规定) 3.当想了解某一具体的函数或命令的帮助信息时,如输入: >> help sqrt (了解函数sqrt的相关信息) 1.2.2 lookfor 命令 现需要完成某一具体操作,不知有何命令或函数可以完成,如输入: >> lookfor line (查找与直线、线性问题有关的函数) 1.3 常量与变量

Matlab 使用之线性代数综合实例讲解

一、上机目的 1、培养学生运用线性代数的知识解决实际问题的意识、兴趣和能力; 2、掌握常用计算方法和处理问题的方法; 二、上机内容 1、求向量组的最大无关组; 2、解线性方程组; 三、上机作业 1、设A=[2 1 2 4; 1 2 0 2; 4 5 2 0; 0 1 1 7]; 求矩阵A列向量组的一个最大无关组. >> A=[2 1 2 4;1 2 0 2;4 5 2 0;0 1 1 7] A = 2 1 2 4 1 2 0 2 4 5 2 0 0 1 1 7 >> rref(A) ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 所以矩阵A的列向量组的一个最大无关组就是它本身; 2、用Matlab解线性方程组 (1) >> A=[2 4 -6;1 5 3;1 3 2] A = 2 4 -6 1 5 3 1 3 2 >> b=[-4;10;5]

b = -4 10 5 >> x=inv(A)*b x = -3.0000 2.0000 1.0000 >> B=[3 41 -62;4 50 3;11 38 25] B = 3 41 -62 4 50 3 11 38 25 >> c=[-41;100;50] c = -41 100 50 >> x=inv(B)*c x = -8.8221 2.5890 1.9465 3、(选作)减肥配方的实现 设三种食物每100克中蛋白质、碳水化合物和脂肪的含量如下表,表中还给出了20世纪80年代美国流行的剑桥大学医学院的简捷营养处方。现在的问题是:如果用这三种食物作为每天的主要食物,那么它们的用量应各取多少才能全面准确地实现这个营养要求? 四、上机心得体会

数学用Matlab学习线性代数线性方程组与矩阵代数

用Matlab学习线性代数 线性方程组与矩阵代数 实验目的:熟悉线性方程组的解法和矩阵的基本运算及性质验证。 Matlab命令: 本练习中用到的Matlab命令有:inv,floor,rand,tic,toc,rref,abs,max,round,sum,eye,triu,ones,zeros。 本练习引入的运算有:+,-,*,’,,\。其中+和-表示通常标量及矩阵的加法和减法运算;*表示标量或矩阵的乘法;对所有元素为实数的矩阵,’运算对应于转置运算。若A为一个n n ?非奇异矩阵(det!=0)且B为一个n r?矩阵,则运算\A B等价于1 -。 A B 实验内容: 1.用Matlab随机生成44?的矩阵A和B。求下列指定的,,, C D G H,并确定 那些矩阵是相等的。你可以利用Matlab计算两个矩阵的差来测试两个矩阵是否相等。 (1)C=A*B,D=B*A,G=(A’*B’)’,H=(B’*A’)’C=H;D=G; (2)C=A’*B’,D=(A*B)’,G=B’*A’,H=(B*A)’C=H;D=G; (3)C=inv(A*B),D=inv(A)*inv(B),G=inv(B*A),H=inv(B)*inv(A) (4)C=inv((A*B)’),D=inv(A’*B’),G=inv(A’)*inv(B’),H=(inv(A)*inv(B))’(3)(4)中无相等的 2.令n=200,并使用命令 A=floor(10*rand(n));

b=sum(A ’)’ z=ones(n,1); 注释:(n 行一列全为1的矩阵) 生成一个n n ?矩阵和两个n R 中的向量,它们的元素均为整数。(因为矩阵和向量都很大,我们添加分号来控制输出。 (1) 方程组 Ax b =的真解应为z 。为什么? 【A 中的每一行的元素之和 正好等于对应b 的每一列,故z 为其一解,又det 不等于0,RA=RAb=n ,故z 为其解】试说明,可在Matlab 中利用”\”运算或计算1A -,然后用计算1A b -来求解。比较这两种计算方法的速度和精度。我们将使用Matlab 命令tic 和toc 来测量每一个计算过程消耗的时间。只需要用下面的命令: tic,x=A\b ;toc tic,y=inv(A)*b; toc 哪一种方法更快? tic,x=A\b ;更快! 为了比较这两种方法的精度,可以测量求得的解x 和y 与真解z 接近的程度。利用下面的命令: max(abs(x-z)) max(abs(y-z)) 哪种方法的到的解更精确? >> max(abs(x-z))= 4.0168e-013 更精确! >> max(abs(y-z)) = 6.1107e-013 (2) 用n=500和n=1000替换(1)中的n 。 如(1)结果一样!

线性代数MATLAB仿真实验报告

合肥学院 2018—2019学年第2学期 线性代数及应用 (模块) 实验报告 实验名称:线性代数MATLAB实验 实验类别:综合性 设计性□验证性 专业班级: 17通信工程(2)班 实验时间: 9-12周 组别:第组人数 3人 指导教师:牛欣成绩: 完成时间: 2019年 5 月9日

一. 小组成员 姓名学号具体分工 汪蔚蔚(组长) 1705022025 A报告最后的整合,编写,案例四的计算与应用 以及案例一的计算与证明 陶乐 1 1705022009 C案例二,化学方程式配平问题 程赢妹1505022036 A案例三,应用题灰度值的计算问题 二. 实验目的 1、案例一利用MATLAB进行线性代数计算,求出矩阵B 2、案例二利用MATLAB计算出每一个网格数据的值,然后每一个网格数据的值乘以256以后进行归一化处理,根据每个网格中的灰度值,绘制出灰度图像。 3、案例三利用MATLAB完成对化学方程式进行配平的应用 4、案例四利用MATLAB求极大线性无关组,并表示出其余向量 三. 实验内容 1、案例一: 0,1,0 ,=1,0,0, 0,0,0 A B AB BA A B ?? ?? =?? ?? ?? 已知矩阵和矩阵满足乘法交换律,即且求矩阵。 2、案例二 配平下列化学方程式: 3、案例三: 3*32 0.81.21.70.20.3 0.6021.61.20.6. 1MATLAB 2256MATLAB 给定一个图像的个方向上的灰度叠加值:沿左上方到右 下方的灰度叠加值依次为,,,,;沿右上方到左下 方的灰度叠加值依次为,。,,, )建立可以确定网络数据的线性方程组,并用求解 )将网络数据乘以,再取整,用绘制该灰度图像

用Matlab学习线性代数_行列式

用Matlab学习线性代数__行列式 实验目的理解行列式的概念、行列式的性质与计算 Matlab函数det 实验内容 前面的四个练习使用整数矩阵,并演示一些本章讨论的行列式的性质。最后两个练习演示我们使用浮点运算计算行列式时出现的不同。 理论上将,行列式的值应告诉我们矩阵是否是奇异的。然而,如果矩阵是奇异的,且计算其行列式采用有限位精度运算,那么由于舍入误差,计算出的行列式的值也许不是零。一个计算得到的行列式的值很接近零,并不能说明矩阵是奇异的甚至是接近奇异的。此外,一个接近奇异的矩阵,它的行列式值也可能不接近零。 1.用如下方法随机生成整数元素的5阶方阵: A=round(10*rand(5)) 和B=round(20*rand(5))-10 用Matlab计算下列每对数。在每种情况下比较第一个是否等于第二个。(1)det(A) ==det(A T) (2)det(A+B) ;det(A)+det(B) (3)det(AB)==det(A)det(B) (4)det(A T B T) ==det(A T)det(B T) (5)det(A-1)==1/det(A) (6)det(AB-1)==det(A)/det(B) > A=round(10*rand(5)); >> B=round(20*rand(5))-10; >> det(A) ans = 5972 >> det(A') ans 5972 >> det(A+B) ans =

36495 >> det(A)+det(B) ans = 26384 >> det(A*B) ans = 4 >> det(A)*det(B) ans = 4 >> det(A'*B') ans = 4 >> det(A')*det(B') ans = 4 >> det(inv(A)) ans = 0.00016745 >> 1/det(A) ans = 0.00016745 >> det(A*inv(B)) ans = 0.29257 >> det(A)/det(B) ans = 0.29257 >> 2.n阶的幻方阵是否奇异?用Matlab计算n=3、4、5、…、10时的det(magic(n))。看起来发生了什么?验证当n=24和25时,结论是否仍然成立。【当n为奇数时,det(magic(n))不为0;当n为偶数时,det(magic(n))为0;】>> det(magic(3)) ans = -360 >> det(magic(4)) ans = >> det(magic(5)) ans = 5070000

matlab线性代数实验

线性代数MATLAB 实验指导书 MATLAB 是Matrix Laboratory 的缩写,是一个集数值计算、图形处理、符号运算、文字处理、数学建模、实时控制、动态仿真和信号处理等功能为一体的数学应用软件,而且该系统的基本数据结构是矩阵,又具有数量巨大的内部函数和多个工具箱,使得该系统迅速普及到各个领域,尤其在大学校园里,许多学生借助它来学习大学数学和计算方法等课程,并用它做数值计算和图形处理等工作。我们在这里介绍它的基本功能,并用它做与线性代数相关的数学实验。 在正确完成安装MATLAB 软件之后,直接双击系统桌面上的MATLAB 图标,启动MATLAB ,进入MATLAB 默认的用户主界面,界面有三个主要的窗口:命令窗口(Commend Window ), 当前目录窗口(Current Directory ),工作间管理窗口(Workspace )。 命令窗口是和Matlab 编译器连接的主要窗口,“>>”为运算提示符,表示Matlab 处于准备状态,当在提示符后输入一段正确的运算式时,只需按Enter 键,命令窗口中就会直接显示运算结果。 实验1 矩阵的运算,行列式 实验名称:矩阵的运算,行列式 实验目的:学习在matlab 中矩阵的输入方法以及矩阵的相关运算,行列式。 实验原理:介绍相关的实验命令和原理 (1)一般矩阵的输入 (2)特殊矩阵的生成 (3)矩阵的代数运算 (4)矩阵的特征参数运算 (5)数字行列式和符号行列式的计算 实验命令 1 矩阵的输入 Matlab 是以矩阵为基本变量单元的,因此矩阵的输入非常方便。输入时,矩阵的元素用方括号括起来,行内元素用逗号分隔或空格分隔,各行之间用分号分隔或直接回车。 例1 输入矩阵 ???? ? ??--=654301211A ,可以在命令窗口中输入 >>A=[1 1 2;-1 0 3;4 -5 6] A = 1 1 2 -1 0 3 4 - 5 6 2 特殊矩阵的生成 某些特殊矩阵可以直接调用相应的函数得到,例如: zeros(m,n) 生成一个m 行n 列的零矩阵

线性代数方程组数值解法及MATLAB实现综述

线性代数方程组数值解法及MATLAB实现综述廖淑芳20122090 数计学院12计算机科学与技术1班(职教本科)一、分析课题 随着科学技术的发展,提出了大量复杂的数值计算问题,在建立电子计算机成为数值计算的主要工具以后,它以数字计算机求解数学问题的理论和方法为研究对象。其数值计算中线性代数方程的求解问题就广泛应用于各种工程技术方面。因此在各种数据处理中,线性代数方程组的求解是最常见的问题之一。关于线性代数方程组的数值解法一般分为两大类:直接法和迭代法。 直接法就是经过有限步算术运算,可求的线性方程组精确解的方法(若计算过程没有舍入误差),但实际犹如舍入误差的存在和影响,这种方法也只能求得近似解,这类方法是解低阶稠密矩阵方程组级某些大型稀疏矩阵方程组的有效方法。直接法包括高斯消元法,矩阵三角分解法、追赶法、平方根法。 迭代法就是利用某种极限过程去逐步逼近线性方程组精确解的方法。迭代法具有需要计算机的存储单元少,程序设计简单,原始系数矩阵在计算过程始终不变等优点,但存在收敛性级收敛速度问题。迭代法是解大型稀疏矩阵方程组(尤其是微分方程离散后得到的大型方程组)的重要方法。迭代法包括Jacobi法SOR法、SSOR法等多种方法。 二、研究课题-线性代数方程组数值解法 一、直接法 1、Gauss消元法 通过一系列的加减消元运算,也就是代数中的加减消去法,以使A对角线以下的元素化为零,将方程组化为上三角矩阵;然后,再逐一回代求解出x向量。

1.1消元过程 1. 高斯消元法(加减消元):首先将A 化为上三角阵,再回代求解。 11121121222212n n n n nn n a a a b a a a b a a a b ?? ? ? ? ???(1)(1)(1)(1)(1)11121311(2)(2)(2)(2)222322 (3)(3)(3)3333()()000 00 n n n n n nn n a a a a b a a a b a a b a b ?? ? ? ? ? ? ??? 步骤如下: 第一步:1 11 1,2,,i a i i n a -? +=第行第行 11121121222212 n n n n nn n a a a b a a a b a a a b ?? ? ? ? ???1112 11(2)(2)(2)22 22 (2)(2)(2)2 00n n n nn n a a a b a a b a a b ?? ? ? ? ??? 第二步:(2)2 (2)222,3, ,i a i i n a -?+=第行第行 111211(2)(2)(2)2222(2)(2)(2)2 00n n n nn n a a a b a a b a a b ?? ? ? ? ???11 12 1311(2)(2)(2)(2)222322 (3)(3)(3)33 33(3)(3)(3)3 0000 0n n n n nn n a a a a b a a a b a a b a a b ?? ? ? ? ? ? ??? 类似的做下去,我们有: 第k 步:() ()k ,1, ,k ik k kk a i i k n a -?+=+第行第行。 n -1步以后,我们可以得到变换后的矩阵为: 11121311(2)(2)(2)(2)222322 (3)(3)(3)3333()()00000 n n n n n nn n a a a a b a a a b a a b a b ?? ? ? ? ? ? ?? ?

线性代数方程组数值解法及MATLAB实现综述

线性代数方程组数值解法及MATLAB 实现综述 廖淑芳 20122090 数计学院 12计算机科学与技术1班(职教本科) 一、分析课题 随着科学技术的发展,提出了大量复杂的数值计算问题,在建立电子计算机成为数值计算的主要工具以后,它以数字计算机求解数学问题的理论和方法为研究对象。其数值计算中线性代数方程的求解问题就广泛应用于各种工程技术方面。因此在各种数据处理中,线性代数方程组的求解是最常见的问题之一。关于线性代数方程组的数值解法一般分为两大类:直接法和迭代法。 直接法就是经过有限步算术运算,可求的线性方程组精确解的方法(若计算过程没有舍入误差),但实际犹如舍入误差的存在和影响,这种方法也只能求得近似解,这类方法是解低阶稠密矩阵方程组级某些大型稀疏矩阵方程组的有效方法。直接法包括高斯消元法,矩阵三角分解法、追赶法、平方根法。 迭代法就是利用某种极限过程去逐步逼近线性方程组精确解的方法。迭代法具有需要计算机的存储单元少,程序设计简单,原始系数矩阵在计算过程始终不变等优点,但存在收敛性级收敛速度问题。迭代法是解大型稀疏矩阵方程组(尤其是微分方程离散后得到的大型方程组)的重要方法。迭代法包括Jacobi 法SOR 法、SSOR 法等多种方法。 二、研究课题-线性代数方程组数值解法 一、 直接法 1、 Gauss 消元法 通过一系列的加减消元运算,也就是代数中的加减消去法,以使A 对角线以下的元素化为零,将方程组化为上三角矩阵;然后,再逐一回代求解出x 向量。 1.1消元过程 1. 高斯消元法(加减消元):首先将A 化为上三角阵,再回代求解。 11121121222212n n n n nn n a a a b a a a b a a a b ?? ? ? ? ???L L M M O M M L (1)(1)(1)(1)(1)11121311(2)(2)(2)(2)222322(3)(3)(3)3333()()000000n n n n n nn n a a a a b a a a b a a b a b ?? ? ? ? ? ? ???L L L M M M O M M L 步骤如下:

线性代数matlab练习题答案(包括程序和结果)

1. syms x y a1=[1,2,3,4;2,3,4,1;3,4,1,2;4,1,2,3] a2=[x,y,x+y;y,x+y,x;x+y,x,y] s1=det(a1) s2=det(a2) >> a1 = 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3 a2 = [ x, y, x+y] [ y, x+y, x] [ x+y, x, y] s1 = 160 s2 = -2*x^3-2*y^3 >> 2. a1=[1,2;3,4] a2=[-1,2,0,7;6,0.5,2.6,9;0,-5,12,3] >> a1 = 1 2 3 4 a2 =

-1.0000 2.0000 0 7.0000 6.0000 0.5000 2.6000 9.0000 0 -5.0000 12.0000 3.0000 >> 3. a=[6,9,5;3,-1,4;2,0.4,1] b=[1,2,3;-1,3,4;8,1,2] s11=3*a*b-2*a s12=b'*a s21=a*b==b*a s22=(a-b)*(a+b)==a^2-b^2 s23=(a*b)'==b'*a' >> a = 6.0000 9.0000 5.0000 3.0000 -1.0000 4.0000 2.0000 0.4000 1.0000 b = 1 2 3 -1 3 4 8 1 2 s11 = 99.0000 114.0000 182.0000 102.0000 23.0000 31.0000 24.8000 17.8000 26.8000 s12 = 19.0000 13.2000 9.0000 23.0000 15.4000 23.0000 34.0000 23.8000 33.0000 s21 =

线性代数及matlab英汉对照

Matlab部分函数名的义源 rand(m,n) random 随机 inv(a) inverse 逆矩阵 root 平方根sqrt(a) squared abs(a) absolute value 绝对值 det(a) determinant 行列式 rank(a) rank 秩 trace(a) trace 迹 rref(a) reduced row echelon form 最简行阶梯形 space 零核空间null(a) null sym(a) symbol 符号 orth(a) orthogonal 正交 norm norm 模 poly(a) polynomial 多项式 roots(p) root 根 eig(a) eigen- 特征的eigensys(a) eigen- system 特征的 线性代数部分词汇英汉对照 adjoint matrix 伴随矩阵 algebraic cofactor 代数余子式 augmented matrix 增广矩阵 block matrix 分块矩阵 basic solution set 基础解系 characteristic equation 特征方程 characteristic polynomial 特征多项式 coefficient matrix 系数矩阵 cofactor 余子式 column vector 列向量 canonical form [二次型的]标准形 cramer’s rule 克莱姆法则 determinant of order n n阶行列式 diagonal matrix 对角矩阵 dimension 维数 echelon form 阶梯形 eigenvalue 特征值 eigenvector 特征向量 elementary matrix 初等矩阵 elementary row operation 行初等变换 full rank 满秩 general solution 通解 gram-schmidt process 施密特正交化过程 identity matrix 单位矩阵 index of inertia 惯性指数

线性代数MATLAB程序实例

线性代数MATLAB程序实例 1、mat_ex00.m 浮点数与符号数显示 2、mat_ex01.m 行列式的数值计算与符号计算函数det() 3、mat_ex02.m 逆矩阵计算 4、mat_ex03.m 矩阵求秩的数值与符号函数rank() 5、mat_ex04.m 求解齐次线性方程组的MATLAB方法 6、mat_ex05.m 非齐次线性方程组的MATLAB求解 7、mat_ex06.m 非齐次线性方程组的相容性、唯一解和无穷解情况 8、mat_ex07.m 求矩阵的特征值与特征向量函数eig() 9、Image_SVD.m 利用矩阵的奇异值分解秩k逼近,进行图像压缩 10、MATLAB绘图命令 (1)常用绘图命令 二维图形: plot最基本、最常用的绘图函数,用于绘制线性二维图。有多

条曲线时,循环使用由坐标轴颜色顺序属性定义的颜色,以区别不同的曲线;之后再循环使用由坐标轴线型顺序属性定义的线型,以区别不同的曲线。 fplot 在指定的范围limits 内画出一元函数y=f(x)的图形。ezplot 绘制隐函数图形。 三维图形: plot3根据给定的数值点绘制三维曲线图。 mesh 生成由X ,Y 和Z 指定的网线面,可以选择颜色的三维网格图。 surf 在矩形区域内显示三维带阴影曲面图。 (2)图形标注 title 给当前图形加上标题,每个图形对象可以有一个标题,标题定位于图形的上方正中央。 xlabel 、ylabel 、zlabel 给x 、y 、z 轴贴上标签。 grid 给二维或三维图形的坐标面增加分隔线。 legend 对同一张图上的不同曲线进行标注。 (3)、gra_ex01.m 绘制下面二元函数的三维图形 222222)1(53)1(223 1)5(10)1(3),(y x y x y x e e y x x e x y x f z -+---+-------==(4)、smile_03.m 平面图形笑脸的几何变换实例

matlab-线性代数

一、矩阵的生成 1.简单的矩阵的生成 (1)直接输入矩阵元素 对直接从键盘输入一系列元素生成矩阵,只要遵循下面几个基本原则: 1、矩阵每一行的元素必须用空格或逗号分开; 2、在矩阵中,采用分号或回车表明每一行的结束; 3、整个输入矩阵必须包含在方括号“[]”中。 注意:创建矩阵在方括号的末尾,可以用回车或分号结束。用回车结束,显示所输入的矩阵;用分号结束,所输入的矩阵不显示。 输入:A=[4,5,7,8;6,1,2,5;3,5,4,6;4,2,4,8] 显示:A = 4 5 7 8 6 1 2 5 3 5 4 6 4 2 4 8 (2)生成大矩阵 在MATLAB中,可以将小矩阵连接起来生成一个较大的矩阵。事实上,前面直接输入法生成矩阵就是将单个元素连接起来生成矩阵。方括号“[]”就是连接算子。 输入:B=[A,A+1;A+2,A+3]

显示:B = 4 5 7 8 5 6 8 9 6 1 2 5 7 2 3 6 3 5 4 6 4 6 5 7 4 2 4 8 5 3 5 9 6 7 9 10 7 8 10 11 8 3 4 7 9 4 5 8 5 7 6 8 6 8 7 9 6 4 6 10 7 5 7 11 2.常用矩阵的生成 下面介绍一些常用矩阵的生成命令:zeros,ones,eye,rand和randn。 (1)zeros生成全0阵 调用格式为:B=zeros(n):生成n n的全0矩阵;如果n不是标量将给出出错信息。

B=zeros(m,n):生成m?n的全0矩阵。 B=zeros(size(A)):生成与矩阵A大小相同的全0阵。 注意:在MATLAB中不需要预先定义矩阵的维数,MATLAB自动为矩阵分配存储空间。尽管如此,如果采用全零阵为矩阵生成的全部元素或某一行、某一列的元素保留存储空间,则大多数MATLAB程序将运行得更快。 (2)ones生成全1阵 调用格式为: Y=ones(n):生成n?n的全1矩阵;如果n不是标量将给出出错信息。 Y=ones(m,n):生成m?n的全1阵。 Y=ones(size(A)):生成与矩阵A大小相同的全1阵。 (3)eye生成单位阵 调用格式为: Y=eye(n):生成n?n的单位阵。 Y=eye(m,n):生成m?n的矩阵,其对角线元素为1,其它元素为0。 Y=eye(size(A)):生成一个与矩阵A大小相同的单位阵。 注意:在MATLAB中,单位阵的定义比线性代数中的定义更广泛。例如:输入:eye(3,2) 显示:ans = 1 0 0 1 0 0 (4)rand生成均匀分布的随机阵

matlab线性代数例题

《数学实验》在线习题3 Matlab 程序设计部分 一. 分析向量组123[123],[120],T T T a a a ==--=,4[121]T a =--,5[246]T a =的线性相关性,找出它们的最大无关组,并将其余向理表示成最大无关组的线性组合。 解, a1=[1 2 3]'; a2=[-1 -2 0]'; a3=[0 0 1]'; a4=[1 -2 -1]'; a5=[2 4 6]'; A=[a1,a2,a3,a4,a5] ; [R,S]=rref(A) r=length(S) R = 1.0000 0 0.3333 0 2.0000 0 1.0000 0.3333 0 0 0 0 0 1.0000 0 S = 1 2 4 r = 3 线性相关 a1,a2,a3,a4,a5 最大无关组是a1,a2,a4 其余向量的线性组合是a3=1/3a1+1/3a2 a5=2a1 二. 计算行列式 3 2231111113 22322222243 223 3333333223444444x x y x y y x x y x y y D x x y x y y x x y x y y = 的值。其中[][][][]1 23412342357,4567x x x x y y y y ==。 解, syms x1 x2 x3 x4 y1 y2 y3 y4 D=[x1^3 x1^2*y1 x1*y1^2 y1^3;x2^3 x2^2*y2 x2*y2^2 y2^3;x3^3 x3^2*y3 x3*y3^2 y3^3;x4^3 x4^2*y4 x4*y4^2 y4^3]; d=det(D)

MATLAB在线性代数中的应用[文献综述]

文献综述 信息与计算科学 MATLAB在线性代数中的应用 一、前言部分 线性代数是大学理、工、经管、医、农等学科所有专业必修的一门重要数学基础课。它作为离散性数学在工科数学中的代表,随着计算机科学日新月异的发展,许多非线性问题高精度地线性化与大型线性问题的可计算性正在加快逐步实现,因此无论从理论上还是从应用上看,线性代数的地位更趋重要。]1[ MATLAB软件是目前教学与科研中最具影响力、最有活力、最具可靠性的数学软件]2[。它起源于矩阵运算,MATLAB名字由MATrix和LABoratory两词的前三个字母组合而成。]3[作为高度集成的计算机语言,它携带几十个软件包,提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计,与其他语言的接口也非常便捷。在欧美的大学里,诸如应用统计分析、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程都把MATLAB作为教学内容。}4[ 线性代数作为代数的一个主要分支,以向量空间与线性变换作为研究对象,就其在数学、物理学以及经济学等分支的应用来说,线性代数的离散化思想具有非常特殊的作用,因此也成为我国大学生必修的公共基础课之一。此外,线性代数思想特别使用于计算机编程,它以坐标法和向量法作为主要的研究工具,通过矩阵和向量性质研究多变量之间的线性关系,因此,MATLAB与线性代数的紧密结合有着非常广阔的前景。]6,5[ 二、主题部分 线性代数是一门应用性很强,但又在理论上进行了高度抽象的数学学科。一方面,中学生就学过了二元一次代数方程的解法,代入法和消去法大概每个人都会记忆一辈子,这就是做简单的线性代数。当把方程的阶次提高到了三元一次以上时,它不但要求较高级的抽象思维能力,而且也要求用十分烦琐的计算步骤才能解决问题。对于数学家,他们重视前者,这无可厚非;但对于大多数工科学生,他们更需要的是能应用它的理论,指导完成实际的计算。事实上,线性代数的那种单调、机械、枯燥的运算,只是由于计算机的出现才赋予了在应用

用MATLAB线性代数的基本运算

111 第五章线性代数的基本运算 本章学习的主要目的: 1 复习线性代数中有关行列式、矩阵、矩阵初等变换、向量的线性相关性、线性方程组的求解、相似矩阵及二次型的相关知识. 2学会用MatLab 软件进行行列式的计算、矩阵的基本运算、矩阵初等变换、向量的线性相关性的判别、线性方程组的求解、二次型化标准形的运算. 5.1 行列式 5.1.1 n 阶行列式定义 由2n 个元素),,2,1,(n j i a ij =组成的记号 D=nn n n n n a a a a a a a a a 212222111211 称为n 阶行列式.其值是所有取自不同行不同列的n 个元素的乘积n np 2 p 21 p 1a a a 的 代数和,各项的符号由n 级排列n p p p 21决定,即 D= ∑ -n p p p n p p p 21n np 2 p 21 p 1) 21( a a a )1(τ, 其中 ∑ n p p p 21表示对所有n 级排列求和,),,,(21n p p p τ是排列n p p p 21的逆序数. 5.1.2行列式的性质 (1) 行列式与它的转置行列式相等. (2) 互换行列式的两行(列),行列式变号. (3) 若行列式有两行(列)完全相同,则此行列式为零.

112 (4) 行列式的某一行(列)中所有的元素都乘以同一数k,等于用数k 乘此行列式. (5) 若行列式有两行(列)元素成比例,则此行列式为零. (6) 若行列式的某一列(行)的元素是两数的和,则此行列式等于对应两个行列式之和. 即 nn n n ni n n i i nn n n ni n n i i nn n n ni ni n n i i i i a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a 21'2 1 '22221 '11211212 1 22221 112 1121'2 1 '222221'111211+ =+++ (7) 若行列式的某一行(列)的各元素乘以同一数加到另一行(列)对应的元素上去,行列式不变. (8) 行列式等于它的任一行(列)的各元素与其对应的代数余子式乘积之和,即 ),,2,1(,0,1 j k n i k i k i D A a D n j ij =?? ?≠=== ∑ =, 或),,2,1(,0,1 i n j k j k j D A a D n ik ij =?? ?≠=== ∑ = (9) 设A,B 是n 阶方阵,则T A A =,A A n k k =,B A AB =, (10)若A 是n 阶可逆矩阵,则0≠A ,A A 1 1= - (11) 设n 21,,,λλλ 是n 阶方阵A 的特征值,则i n A λ1 i =∏=, (12) 设*A 是n 阶方阵A 的伴随矩阵,则2n *1 ≥=-n A A (13) 几种特殊行列式的计算: nn nn a a a a a a 22112211000000= , nn nn n n a a a a a a a a a 221122*********= nn nn n n a a a a a a a a a 22112 1 222111000=,112n 12) 1(122 2111211)1(0 00n n n n n n a a a a a a a a a ---=

Matlab 使用之线性代数综合实例

课程《线性代数》上机 内容 《线性代数》综合实例成绩 姓名专业 班级 学号 教学班指导 教师 上机 日期 一、上机目的 1、培养学生运用线性代数的知识解决实际问题的意识、兴趣和能力; 2、掌握常用计算方法和处理问题的方法; 二、上机内容 1、求向量组的最大无关组; 2、解线性方程组; 三、上机作业 1、设A=[2124;1202;4520;0117]; 求矩阵A列向量组的一个最大无关组. >>A=[2124;1202;4520;0117] A= 2124 1202 4520 0117 >>rref(A) ans= 1000 0100 0010 0001 所以矩阵A的列向量组的一个最大无关组就是它本身; 2、用Matlab解线性方程组 (1) >>A=[24-6;153;132] A= 24-6 153 132 >>b=[-4;10;5] b= -4 10 5 >>x=inv(A)*b x=

-3.0000 2.0000 1.0000 >>B=[341-62;4503;113825] B= 341-62 4503 113825 >>c=[-41;100;50] c= -41 100 50 >>x=inv(B)*c x= -8.8221 2.5890 1.9465 3、(选作)减肥配方的实现 设三种食物每100克中蛋白质、碳水化合物和脂肪的含量如下表,表中还给出了20世纪80年代美国流行的剑桥大学医学院的简捷营养处方。现在的问题是:如果用这三种食物作为每天的主要食物,那么它们的用量应各取多少才能全面准确地实现这个营养要求? 营养 每100克食物所含营养(g)减肥所要求的 每日营养量脱脂牛奶大豆面粉乳清 蛋白质36511333 碳水化合物52347445脂肪07 1.13 (请同学们选择实际生活中的其它例子,建立模型并用Matlab求解) 四、上机心得体会 通过此次上机实验,我进一步的认识到了Matlab软件的功能。Matlab 操作简单、功能强大,它使一些复杂的线性代数问题的计算变得更加简单,有效地提高了人们计算的效率。而且把一些复杂的实际问题转化为矩阵后再利用Matlab求解既简单有快捷。 通过线性代数的学习,能使学生获得应用科学中常用的矩阵、线性方程组等理论及其有关基本知识,并具有较熟练的矩阵运算能力和用矩阵方法解决一些实际问题的能力。同时,该课程对于培养学生的逻辑推理和抽象思维能力、空间直观和想象能力具有重要的作用。所以我们要掌握Matlab,并熟练地使用它来解决遇到的实际问题。

Matlab线性代数

西安交通大学 电气410 张亚东

线性代数实验报告 电气410 张亚东 一、利用matlab操作矩阵基本运算,矩阵初等变换和秩的求解`, 有关方阵的特征值和特征向量的求解。 (1)同型矩阵的加减乘除 a=[2,1,1;1,2,1;1,1,2]; f=[1,2,3;0,1,2;9,1,2]; a+f a-f a*f a/f 运行结果; (2)矩阵的转置 f=[1,2,3;0,1,2;9,1,2]; f’ 运行结果: (3)数乘 f=[1,2,3;0,1,2;9,1,2]; x=2; x*f 运行结果:

(4)初等变换 a=A(r,c) %将A的第r行第c列的元素赋给变量a A(r,: )=k*A(r,: ) %把矩阵A的第r行第c列乘以数字k A(:,c)=s*A(:,c) %把矩阵A的第c列乘以数字s a([i,j],: )=a([j,i].: ) %交换矩阵a的第i行和第j行 a(j,: )=a(j,: )+k*a(i,: ) %矩阵a的第i行乘以常数k加到第j行 (5)秩的求解 a=[2,1,1;1,2,1;1,1,2]; rank(a); 运行结果: (6)方阵的特征值和特征向量的求解 a=[2,1,1;1,2,1;1,1,2]; [tx,ty]=eig(a) (7)求矩阵的逆 a=inv(B);

二、下图给出了某城市部分单行道的交通流量(每小时通过的车辆数)图中有6个路口,已有9条街道记录了当天的平均车流量,另有7处的平均车流量未知。试利用每个路口的进出车流量相等关系来推算这7处的平均车流量。 (1)实验问题 利用每个路口的进出车流量相等关系来推算这 7处的平均车流量; (2)问题分析 根据每个路口进出车流量相同,列出方程, 解方程,求出增广矩阵,得出通解; (3)程序设计 b=[0,1,0,0,-1,0,0,200;1,-1,0,1,0,0,0,200;1,0,1,0,0,0,0,800;0,0,1,0,0,1,0,600;0,0 ,0,1,0,1,-1,0;0,0,0,0,-1,0,1,200]; matrix=rref(b)

相关文档
最新文档