基于MATLAB的线性代数应用案例
用MATLAB解决线性代数问题实验报告

实验三使用MATLAB解决线性代数问题学院:数计学院班级:1003班姓名:黄晓丹学号:1051020144实验目的:学习MATLAB有关线性代数运算的指令,主要学习运用MATLAB解决矩阵除法,线性方程组的通解,矩阵相似对角化问题,以及解决投入产出分析等应用问题。
实验内容:矩阵转置:A=[1 2;3 4];B=[4 3;2 1];>> A',B'ans =1 32 4ans =4 33 1矩阵加减:A-Bans=-3 -11 3矩阵乘法:A*B,A.*B(数组乘法)||比较矩阵乘法与数组乘法的区别ans=8 520 13ans=4 66 4矩阵除法:A\B,B./Aans=-6 -55 4ans=4 1.50.6667 0.25特殊矩阵生成:zeros(m,n)||生成m行n列的矩阵ones(m,n)||生成m行n列的元素全为一的矩阵eye(n)||生成n阶单位矩阵rand(m,n)||生成m行n列[0 ,1]上均匀分布随机数矩阵zeros(2,3)ans =0 0 00 0 0>> ones(3,3)ans =1 1 11 1 11 1 1>> eye(3)ans =1 0 00 1 00 0 1>> rand(2,4)ans =Columns 1 through 30.9501 0.6068 0.89130.2311 0.4860 0.7621Column 40.45650.0185矩阵处理:trace(A)||返回矩阵的迹diag(A)||返回矩阵对角线元素构成的向量tril(A)||提取矩阵的下三角部分triu(A)||提取矩阵的上三角部分flipud(A)||矩阵上下翻转fliplr(A)||矩阵左右翻转reshape(A,m,n)||将矩阵的元素重排成m行n列矩阵A=[1 2 3;4 5 6;7 8 9];>> t=trace(A),d=diag(A),u=triu(A)t =15d =159u =1 2 30 5 60 0 9 flipud(A),fliplr(A)ans =7 8 94 5 61 2 3 ans =3 2 16 5 49 8 7矩阵特征值与标准型:[V,D]=eig(A)||返回矩阵特征值与特征向量[V J]=Jordan(A)||返回矩阵的相似变换矩阵和若尔当标准型A=[1 2;3 4];>> [V,D]=eig(A)V =-0.8246 -0.41600.5658 -0.9094D =-0.3723 00 5.3723>> [V,J]=jordan(A)V =0.2389 0.76110.5222 -0.5222J =5.3723 00 -0.3723线性方程组求解A=[1 2 1;3 -2 1];B=[1;4];x=A\B x =1.2500 ||求一特解-0.1250>> A=[1 2;3 -2;1 -1];B=[1;4;2];x=A\Bx = ||求得一最小二乘近似解1.2838-0.1757:方阵的相似对角化及应用:A=[1 1/4 0;0 1/2 0;0 1/4 1];[P,T]=eig(A) P =1.0000 0 -0.40820 0 0.81650 1.0000 -0.4082T =1.0000 0 00 1.0000 00 0 0.5000求得三个特征值1,1,0.5,对应特征向量(1,0,0),(0,0,1),(-0.4028,0.8165,-0.4082),由于三个特征向量线性无关,从而A 可相似对角化,即p-1AP=T.那么A∧n=p[1 0 0;0 1 0;0 0 0]p-1,计算的P*diag([1,1,0])*inv(P)ans =1.0000 0.50000 00 0 00 0.5000 1.0000所以得到近似解。
Matlab在线性代数中的应用

利用Matlab的控制设计方法,如PID控制、状态反馈控制等,可以 设计出有效的控制系统。
THANKS
感谢观看
利用Matlab的图像处理函数,可以从图像中提取 特征,如边缘、角点等,用于目标检测和识别。
在控制系统中的应用
系统建模
使用Matlab的控制系统工具箱,可以对系统进行建模,如线性时 不变系统、非线性系统等。
系统分析和仿真
通过Matlab的控制系统函数,可以对系统进行稳定性分析、控制 性能分析和仿真测试。
向量运算
向量的基本运算
包括向量的加法、减法、数乘、向量的模等。
向量的内积和外积
内积和外积是描述向量之间关系的运算,用于计算向量的长度、角 度等。
向量运算的实际应用
向量运算在物理、工程等领域有广泛应用,如描述物体运动轨迹、计 算力的合成等。
特征值与特征向量
01
特征值和特征向量 的定义
特征值和特征向量是描述矩阵特 性的重要概念,用于描述矩阵变 换的性质。
04
Matlab在线性代数中的优势与 局限性
优势
高效计算能力
Matlab提供了强大的矩阵运算 和数值计算功能,使得线性代
数问题的求解更加高效。
可视化工具
Matlab内置了丰富的可视化工 具,可以直观地展示线性代数 中的向量、矩阵和线性变换等 概念。
易于学习和使用
Matlab的语法相对简单,使得 线性代数运算变得容易理解和 实现。
解的精度和稳定性
Matlab在线性方程组求解过程中考虑了精 度和稳定性问题,能够提供可靠的解。
向量运算和特征值问题
向量运算
Matlab支持向量的基本运算 ,如加法、减法、数乘、点 积等。
#实验1 MATLAB续:MATLAB在线性代数中的应用

6 x3 5 x3
6
x4
0 0
x3 5x4 6x5 0
x4 5x5 1
A=[5 6 0 0 0 15600 01560 00156 0 0 0 1 5];
B=[1 0 0 0 1]'; R_A=rank(A) %求秩 X=A\B %求解
例2
求解方程组
3xx112xx2253xx333xx44
>>B=null(A,'r') %求解空间的有理基
得到:B =
2
5/3
-2 -4/3
1
0
0
1
MATLAB初步
于是,我们得到原线性方程组的解:
syms k1 k2 % 定义两个符号 X=k1*B(:,1)+k2*B(:,2) %写出方程组的通解 pretty(X) %让通解表达式更加精美
求解的完整代码如下:
%V已经被归一化为单位向量了
例 4: 求矩阵
MATLAB初步
2 1 1
A
0 4
2 1
0 3
的特征值和特征向量.
A=[-2 1 1;0 2 0;-4 1 3]; [V,D]=eig(A)
V=
-0.7071 -0.2425
0
0
-0.7071 -0.9701
0.3015 0.9045 0.3015
1 2
有否解? 2x1 x2 2x3 2x4 3
MATLAB初步
A=[1 -2 3 -1;3 -1 5 -3;2 1 2 -2];%输入系数矩阵A的值
% first,input the coefficient matrix A
matlab线性代数例题[大全5篇]
![matlab线性代数例题[大全5篇]](https://img.taocdn.com/s3/m/76804a34a7c30c22590102020740be1e650ecc80.png)
matlab线性代数例题[大全5篇]第一篇:matlab线性代数例题《数学实验》在线习题3 Matlab程序设计部分一.分析向量组a1=[1T2a23=]-,-T[a31T=2,0],a4=[1-2-1]T,a5=[246]T的线性相关性,找出它们的最大无关组,并将其余向理表示成最大无关组的线性组合。
解,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 02.0000 0 1.0000 0.3333 0 0 0 0 0 1.0000 0S =4r =线性相关 a1,a2,a3,a4,a5 最大无关组是a1,a2,a4 其余向量的线性组合是a3=1/3a1+1/3a2 a5=2a1二.计算行列式x13D4=x23x33x43x12y1x22y2x32y3x42y4x1y12x2y22x3y32x 4y42y13y23y3323的值。
其中[1解,syms x1 x2 x3 x4 y1 y2 y3 y4 xxxy43x4]=[2357],[y1y2y3y4]=[4567]。
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)x1=2;x2=3;x3=5;x4=7;y1=4;y2=5;y3=6;y4=7;eval (d)d = ans =153664 三.已知向量a={1,-1,0},b={-1,0,-1},求向量a与b的夹角的度数。
解,a=[1-1 0];b=[-1 0-1];x=a.*b;x1=sum(x,2);x2=norm(a);x3=norm(b);y=x1/(x2*x3)y1 =acos(y)y =-0.5000y1 =2.0944四.已知线性方程组clear⎧2x1-x2+3x3+2x4=0⎪9x-x+14x+2x=1⎪1234⎨⎪3x1+2x2+5x3-4x4=1⎪⎩4x1+5x2+7x3-10x4=2,求系数矩阵的秩和方程组的通解。
用MATLAB做线性代数实验

2
0
, 2
5 3
, 3
1
3
, 4
1
4
, 5
1
2
。
3
6
0Hale Waihona Puke 73【程序如下】:
% (1)
A=[1 2 1 3;4 -1 5 6;1 -3 -4 7;1 2 1 1]' r=rank(A) [R,IP]=rref(A) % (2) A=[1 2 0 2 1;-2 -5 1 -1 1;0 -3 3 4 2;P3 6 0 -7 3] r=rank(A) [R,IP]=rref(A)
例如:
已知
A
1 3
2 4
,
B
1 1
2 0
,解矩阵方程
(1)
AX
B , (2) XA B 。
MATLAB 程序如下:
A=[1 2;3 4];
B=[1 2;-1 1];
X1=inv(A)*B % AX=B or
X1=A\B
X2=B*inv(A) % XA=B
X2=A/B
将 p(x) 分解为最简分式之和 q( x)
[p,q]=residue(a,b,r) 将简单分式之和合并为有理分式
例如,将有理分式
f
(x)
x2 x3 2x2 3x2
分解为最简分式之和的程序如下:
p=[1 2];
q=[1 2 3 2];
[a,b,r]=residue(p,q)
输出:a =
-0.2500 - 0.4725i
p=[1 -6 11 -6];
基于MATLAB的线性代数应用案例

Advances in Applied Mathematics 应用数学进展, 2019, 8(3), 424-429Published Online March 2019 in Hans. /journal/aamhttps:///10.12677/aam.2019.83048Application Examples of Linear AlgebraBased on MATLABWei Yang1, Shuping Gao2, Bing Han3, Huaichen Chen31School of Physics and Optoelectronic Engineering, Xidian University, Xi’an Shaanxi2School of Mathematics and Statistics, Xidian University, Xi’an Shaanxi3School of Electornoc Engineering, Xidian University, Xi’an ShaanxiReceived: Feb. 14th, 2019; accepted: Feb. 27th, 2019; published: Mar. 6th, 2019AbstractThis paper gives three examples of the application of linear algebra. It includes rigid body plane motion, information retrieval and bacteria conversion. MATLAB software is used for numerical calculation and drawing.KeywordsLinear Algebra, Application of Linear Algebra, MATLAB基于MATLAB的线性代数应用案例杨威1,高淑萍2,韩冰3,陈怀琛31西安电子科技大学物理与光电工程学院,陕西西安2西安电子科技大学数学与统计学院,陕西西安3西安电子科技大学电子工程学院,陕西西安收稿日期:2019年2月14日;录用日期:2019年2月27日;发布日期:2019年3月6日摘要本文给出了线性代数三个精彩应用案例,包括刚体平面运动、情报检索及细菌转换,并利用MATLAB软件进行数值计算和绘图分析。
利用Matlab进行线性代数问题求解的方法与案例

利用Matlab进行线性代数问题求解的方法与案例引言线性代数是数学的一个重要分支,广泛应用于工程、物理、计算机科学等领域。
而Matlab作为一种功能强大的数值计算软件,提供了各种实用的工具和函数,可以方便地解决线性代数问题。
本文将介绍一些常用的线性代数问题求解方法,并通过具体的案例来展示Matlab在实际应用中的效果。
一、线性方程组的求解线性方程组是线性代数中最基础的问题之一。
Matlab提供了多种求解线性方程组的函数,如“backslash”操作符(\)和“linsolve”函数等。
下面通过一个实例来说明Matlab的线性方程组求解功能。
案例:假设有以下线性方程组需要求解:2x + 3y - 4z = 53x - 2y + z = 8x + 5y - 3z = 7在Matlab中输入以下代码:A = [2 3 -4; 3 -2 1; 1 5 -3];b = [5; 8; 7];x = A\b;通过以上代码,我们可以得到线性方程组的解x=[1; -2; 3]。
这表明在满足以上方程组的条件下,x=1,y=-2,z=3。
可以看出,Matlab在求解线性方程组时,使用简单且高效。
二、矩阵的特征值和特征向量求解矩阵的特征值和特征向量也是线性代数中的重要概念。
利用特征值和特征向量可以得到矩阵的许多性质和信息。
在Matlab中,我们可以通过“eig”函数来求解矩阵的特征值和特征向量。
案例:假设有一个2x2矩阵A,需要求解其特征值和特征向量。
在Matlab中输入以下代码:A = [2 3; 1 4];[V, D] = eig(A);通过以上代码,我们可以得到矩阵A的特征向量矩阵V和特征值矩阵D。
具体结果如下:特征向量矩阵V = [0.8507 -0.5257; 0.5257 0.8507]特征值矩阵D = [1.5858 0; 0 4.4142]由结果可知,矩阵A的特征向量矩阵V和特征值矩阵D可以提供有关该矩阵的很多信息,如相关线性变换、对称性等。
使用Matlab求解线性代数问题(一)

使用Matlab求解线性代数问题一、用行列式求解线性方程组x1+ x2–2*x3 = -35*x1–2*x2+ 7*x3 = 222*x1–5*x2+ 5*x3 = 4解法1:使用矩阵求解方程组在Matlab 7.1命令行界面中输入(A表示系数矩阵,b表示向量)A = [1 1 -2; 5 -2 7; 2 -5 5]; % 系数矩阵b = [-3; 22; 4]; % 向量format rat; % 设置结果的显示形式为分数x = A\b; % 计算结果x = x' % 转置以行向量形式显示界面显示结果为x = 47/56 163/56 27/8即方程的解为x1 = 47/56; x2 = 163/56; x3 = 27/8解法2:使用Cramer法则求解方程组在Matlab 7.1命令行界面中输入D(系数行列式)D = [1 1 -2; 5 -2 7; 2 -5 5]; % 系数矩阵DD1 = [b D(:,2) D(:, 3)]; % D1D2 = [D(:,1) b D(:, 3)]; % D2D3 = [D(:, 1) D(:,2) b]; % D3format rat; % 设置结果的显示形式为分数x1 = det(D1)/det(D)x2 = det(D2)/det(D)x3 = det(D3)/det(D)输出结果为x1 = 47/56x2 = 163/56x3 = 27/8即方程的解为:x1 = 47/56; x2 = 163/56; x3 = 27/8二、求排列65872134的逆序数,并确定其奇偶性。
解:排列的逆序数定义为:如在1,2,3,…,n的一个全排列(s1 s2 s3…s n)中,有i<j时,s i >s j,这时s i、s j违反了自然顺序,就说它们构成了一个逆序。
排列(s1 s2 s3…s n)中逆序的总数称为该序列的逆序数。
根据定义计算逆序数的Matlab程序如下:a = [6 5 8 7 2 1 3 4]; % 将排列看作行向量Num = 0; % 逆序数初始值设为0Len = length(a); % 行向量中元素的个数for i = 1:1:(Len-1)n = length(find( a(i+1: Len) < a(i))); % 计算第i个元素% 的逆序数disp(strcat('第', num2str(i), '个元素', num2str(a(i)), '的逆序数为', num2str(n) ));Num = Num + n; %增加序列逆序数的个数end;disp(strcat('排列', num2str(a), '的逆序数为', num2str(Num)))将上述Matlab命令输入Matlab窗口命令行,执行结果为:第1个元素6的逆序数为5第2个元素5的逆序数为4第3个元素8的逆序数为5第4个元素7的逆序数为4第5个元素2的逆序数为1第6个元素1的逆序数为0第7个元素3的逆序数为0排列6 5 8 7 2 1 3 4的逆序数为19即排列65872134的逆序数为19,由于19为基数,所以排列65872134为逆排列。
MATLAB 在线性代数中的应用

9 10 11 12 在MATLAB中,若要建立空矩阵、单位矩阵、零矩阵或上(下)三角矩阵等,则需要调用与 其相对应的命令及格式 . MATLAB中常用矩阵命令见表8-6所示 .
MATLAB 在线性代数中的应用
表8-6
MATLAB 在线性代数中的应用
MATLAB中矩阵的加(+)、减( )、乘( )、乘方( ^ )、转置(′)与线性代数中的运算规则一
MATLAB 在线性代数中的应用
例6
解
clear A [1,2 ,4 ,6 , 3,2 ,4 ;2 ,4 , 4 ,5 ,1, 5 ,3 ;3 ,6 ,2 ,0 ,5 , 9 ,1;
2 ,3,0 ,4 ,0 ,1,8 ;0 , 4 , 5 ,2 ,1,4 , 5 ;5 ,5 , 3 ,6 ,6 , 4 ,2] ;
解
clear
A 1,2 ,5 ,1;1,1,2 ,2 ;2 ,3,8 ,3
%增广矩阵A
A
1 2 51
1 22 3
8 12 3
A1 rref A
%增广矩阵A的标准阶梯型矩阵
A1
10 03
0 1 0 1
0 010
由于系数矩阵的秩和增广矩阵的秩及未知数的个数都相等,故该方程组有唯一解,即
x1 3,x2 1,x3 0 .
例7
解
C 2 ,3,1 ; A 1,4 ,2 ;3,2 ,0 ; b 8;6 ;
x ,s linprogC, A, b, , ,zeros3,1
MATLAB 在线性代数中的应用
x 0.8066 1.7900 0.0166
s= 7.0000
所以最优解为x1 0.8066 ,x2 1.7900 ,x3 0.0166 ,最优值为Smin 7.0000 .
《基于MATLAB的线性代数实用教程》第十二章:综合实例(3)

• • • • • • • • • • • •
>> xmin=2; >> xmax=4 >> ymin=2 >> ymax=4; >> x1=linspace(xmin,xmax,20); >> x2=linspace(ymin,ymax,20); >> [X1,X2]=meshgrid(x1,x2); >> [Z,DZ1,DZ2]=jt(X1,X2); >> subplot(122) >> contour(X1,X2,Z,40) -1 0 2 3 4 >> hold on 1 >> quiver(X1,X2,-DZ1,-DZ2)
年代 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 27.3 16.0 15.9 14.8 19.7 百分比 11.9 21.4 22.1 21.2 36.4
• 试建立一个食饵-捕食系统的数学模型,定量地回答这个 问题,并用MATLAB进行分析和仿真。
12.10 滤除高频噪声
• 本实验通过在原信号中混入和滤除噪声信号,展 示MATLAB在信号处理中的应用。首先让我们导 入一个音频文件,在MATLAB中,输入:
• >> load handel
在线性代数中的Matlab简单应用

1
6
2
5
17
5.0000 -7.5000 (2) 向量的点积 >>x*y’ %向量的点积 ans = -12
2.5000
12.5000
17.5000
20.0000
(3)向量组的规范正交化 利用施密特正交化过程可以对向量组规范正交化,在 MATLAB 中,利用 qr 函数: 例:将向量组 a1=(1,2,-1),a2=(-1,3,1),a3=(4,-1,0) 规范正交化 >> A=[1,-1,4; 2,3,-1;-1,1,0] A= 1 -1 4 2 3 -1 -1 1 0 >>[Q,R]=qr(A); >>Q %矩阵 Q 的列向量组就是所求的规范正交化向量组 Q= -0.4082 0.5774 0.7071 -0.8165 -0.5774 0.0000 0.4082 -0.5774 0.7071 即 q1=(-0.4082,-0.8165,0.4082) ,q2=(0.5774,0.5774,-0.5774) ,q3=(0.7071,0.0000, 0.7071) 为所求的规范正交向量组。 我们还可以用下述命令验证 q1, q2, q3 的规范正交性。 >>Q’*Q %验证规范正交性,应得到 E,说明 Q 是正交矩阵。 ans = 1.0000 -0.0000 -0.0000 -0.0000 1.0000 0.0000 -0.0000 0.0000 1.0000
(4) 向量组的线性相关性 利用向量组构成的矩阵的秩 rank(A),判定该向量组是否线性相关。 判定向量组 a1=(1,2,-1,4) ,a2=(9,100,10,4) ,a3=(-2,-4,2,-8) ,a4=(3,1,2,0)的线性 相关性。 >>A=[1,9,-2,3;2,100,-4,1;-1,10,2,2;4,4,-8,0]; >> rank(A) ans = 3 因为 rank(A)<4,所以该向量组线性相关。 (5) 向量组的秩与最大无关组 向量组的秩等于它构成矩阵 A 的秩,再利用 rref(A)函数将 A 化成行最简型,即可求得 向量组的最大无关组。 >> rref(A) ans = 1 0 -2 0 0 1 0 0 0 0 0 1 0 0 0 0 即 a1,a2,a4 构成了向量组的一个最大无关组,且 a3 = -2a1
matlab实验1:线性代数方法

奇异值分解: 奇异值分解: 其中U,V均为正交矩阵,S为一 个对角阵, 其中U,V均为正交矩阵,S为一 个对角阵,且对角线 U,V均为正交矩阵,S 元素恰好为A的奇异值(A’*A (A’*A的特征值的算术平方 元素恰好为A的奇异值(A’*A的特征值的算术平方 根). A=U*S*V’ 用于处理一些病态方程组的求解 格式一:只返回方阵A 格式一:只返回方阵A的特征值 格式二:其中D是由A 格式二:其中D是由A的特征值组成的对角 矩阵,V为对应特征向量组成的矩阵. ,V为对应特征向量组成的矩阵 矩阵,V为对应特征向量组成的矩阵. 求矩阵的迹: 求矩阵的迹:矩阵的迹等于矩阵的特征值之和
eig(A) [V,D]=eig(A) trace(A)
上机作业
找出你的代数书,利用 重做其中的几个作业。 找出你的代数书,利用Matlab重做其中的几个作业。 重做其中的几个作业源自函数 [Q,R]=qr(A)
功能 (QR分解 分解) 正交变换 (QR分解): 对A进行QR分解,就是把A分解为一个正交矩阵Q和 进行QR分解,就是把A分解为一个正交矩阵Q QR分解 一个上三角矩阵R的乘积形式. 其中Q*Q’=E, 一个上三角矩阵R的乘积形式. 其中Q*Q’=E, 正交 阵!
[U,S,V]=svd( A)
%对高阶的大方程组通常用:LU、QR和cholesky分解 对高阶的大方程组通常用: 、 对高阶的大方程组通常用 和 分解 等方法求方程组的解 其优点是运算速度快、 等方法求方程组的解 。其优点是运算速度快、可以节省 磁盘空间、节省内存。 磁盘空间、节省内存。
3 求线性方程组的通解
的通解。 例:求下面线性方程组Ax=B的通解。 求下面线性方程组 的通解 输出结果: 输出结果:
解法2 解法2:利用 rref 函数
线性代数-matlab实验报告

用matlab解决线性代数问题学号: 82120545 , 姓名: 于珊,1 求解线性方程组实验内容: 用MATLAB求解如下线性方程组Ax = b, 其中A =5600000015600000015600000015600000015600000015600000015600000015⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦, b = [1,4,6,0,7,1,2,4] T.实验目的:1. 了解MATLAB软件, 学会MATLAB软件的一些基本操作;2. 熟悉MATLAB软件的一些数值计算功能;3. 练习编写简单的MATLAB程序。
实验原理:1. 对于满足条件系数矩阵的行列式D=︱A︱≠0的方程组Ax= b,根据克拉默(Gramer)法则,此线性方程组有唯一解:,j=1,2,…,n。
2. 当线性方程组的系数矩阵A是可逆矩阵时, 方程组Ax = b的解为X = A\B。
3. 当系数矩阵A可逆时, 对增广矩阵[A, b]进行初等行变换, 把它化为行最简形矩阵B, 则B的最后一列就是该方程组的解向量。
实验方案: 1. 在MATLAB命令窗口中输入如下命令:>> a_1=[5;1;0;0;0;0;0;0];a_2=[6;5;1;0;0;0;0;0];>> a_3=[0;6;5;1;0;0;0;0];a_4=[0;0;6;5;1;0;0;0];>> a_5=[0;0;0;6;5;1;0;0];a_6=[0;0;0;0;6;5;1;0];>> a_7=[0;0;0;0;0;6;5;1];a_8=[0;0;0;0;0;0;6;5]; %输入矩阵A>> b=[1;4;6;0;7;1;2;4];>> D=det([a_1,a_2,a_3,a_4,a_5,a_6,a_7,a_8]);>> D_1=det([b,a_2,a_3,a_4,a_5,a_6,a_7,a_8]);>> D_2=det([a_1,b,a_3,a_4,a_5,a_6,a_7,a_8]);>> D_3=det([a_1,a_2,b,a_4,a_5,a_6,a_7,a_8]);>> D_4=det([a_1,a_2,a_3,b,a_5,a_6,a_7,a_8]);>> D_5=det([a_1,a_2,a_3,a_4,b,a_6,a_7,a_8]);>> D_6=det([a_1,a_2,a_3,a_4,a_5,b,a_7,a_8]);>> D_7=det([a_1,a_2,a_3,a_4,a_5,a_6,b,a_8]);>> D_8=det([a_1,a_2,a_3,a_4,a_5,a_6,a_7,b]);>> x_1=D_1/D;x_2=D_2/D;x_3=D_3/D;x_4=D_4/D;>> x_5=D_5/D;x_6=D_6/D;x_7=D_7/D;x_8=D_8/D;>> format rat,X=[x_1,x_2,x_3,x_4,x_5,x_6,x_7,x_8]%利用克拉默法则求解方程组2. 在MATLAB命令窗口中输入如下命令:>> %把该方程组记为AX=b,则X=A\b>> A=[5,6,0,0,0,0,0,0;1,5,6,0,0,0,0,0;0,1,5,6,0,0,0,0;0,0,1,5,6,0,0,0;0,0,0,1,5,6,0,0;0,0,0,0,1,5,6,0;0,0,0,0,0,1,5,6;0,0,0,0,0,0,1,5]; %输入矩阵A>> b=[1;4;6;0;7;1;2;4]; %输入矩阵b>>format rat,X=A\b%求解方程组3. 在MATLAB命令窗口中输入如下命令:>> A=[5,6,0,0,0,0,0,0;1,5,6,0,0,0,0,0;0,1,5,6,0,0,0,0;0,0,1,5,6,0,0,0;0,0,0,1,5,6,0,0;0,0,0,0,1,5,6,0;0,0,0,0,0,1,5,6;0,0,0,0,0,0,1,5];%输入矩阵A>> b=[1;4;6;0;7;1;2;4]; %输入矩阵b>> B=[A,b];%B为增广矩阵[A,b]>> format rat>> C=rref(B); %用初等行变换把B化为行最简形>> X=C(:,9) %利用高斯消元法求解方程组实验结果:1.方法一的计算结果为:X =Columns 1 through 6-3419/592 727/146 -2543/1009 697/307 -131/89 2033/1009 Columns 7 through 8-835/659 1913/18162方法二的计算结果为:.X =-3419/592727/146-2543/1009697/307-131/892033/1009-835/6591913/18163.方法三的计算结果为:X =-797/138727/146-310/123697/307-131/89542/269-204/161138/131对实验结果的分析:上述3种方案所得的结果不完全一致, 这是因为不同的计算方法在计算机中有不同的精度,导致计算数据结果的不同。
Matlab在线性代数中的应用

Matlab在线性代数中的应用§1 向量组的线性相关性求列向量组A的一个最大线性无关组可用命令rref(A)将A化成阶梯形的行最简形式,其中单位向量对应的列向量即为最大线性无关组所含向量,其它列向量的坐标即为其对应向量用最大线性无关组线性表示的系数。
例1 求下列矩阵列向量组的一个最大无关组。
解编写M文件ex1.m如下:format rata=[1,-2,-1,0,2;-2,4,2,6,-6;2,-1,0,2,3;3,3,3,3,4];b=rref(a)求得b = 1 0 1/3 0 16/30 1 2/3 0 -1/90 0 0 1 -1/30 0 0 0 0记矩阵的五个列向量依次为、、、、,则、、是列向量组的一个最大无关组。
且有, .例2 设,,验证是的一个基,并把用这个基线性表示。
解编写M文件ex2.m如下:format rata=[2,2,-1;2,-1,2;-1,2,2];b=[1,4;0,3;-4,2];c=rref([a,b])求得c= 1 0 0 2/3 4/30 1 0 -2/3 10 0 1 -1 2/3§2线性方程组Matlab中解线性方程组可以使用“\”。
虽然表面上只是一个简简单单的符号,而它的内部却包含许许多多的自适应算法,如对超定方程用最小二乘法,对欠定方程它将给出范数最小的一个解,解三对角阵方程组时用追赶法等。
另外欠定方程组可以使用求矩阵A的阶梯形行最简形式命令rref(A),求出所有的基础解系。
例3 求解下列方程组解编写M文件ex3.m如下:format rata=[2,1,-5,1;1,-3,0,-6;0,2,-1,2;1,4,-7,6];b=[8;9;-5;0];solution=a\b求得 solution=[3 -4 -1 1]'。
例4 求超定方程组解编写M文件ex4.m如下:a=[2,4;3,-5;1,2;2,1];b=[11;3;6;7];solution=a\b求得 solution=[ 3.0403 1.2418]'。
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 41 2 0 24 5 2 00 1 1 7>> rref(A)ans =1 0 0 00 1 0 00 0 1 00 0 0 1所以矩阵A的列向量组的一个最大无关组就是它本身;2、用Matlab解线性方程组(1)>> A=[2 4 -6;1 5 3;1 3 2]A =2 4 -61 5 31 3 2>> b=[-4;10;5]b =-4105>> x=inv(A)*bx =-3.00002.00001.0000>> B=[3 41 -62;4 50 3;11 38 25]B =3 41 -624 50 311 38 25>> c=[-41;100;50]c =-4110050>> x=inv(B)*cx =-8.82212.58901.94653、(选作)减肥配方的实现设三种食物每100克中蛋白质、碳水化合物和脂肪的含量如下表,表中还给出了20世纪80年代美国流行的剑桥大学医学院的简捷营养处方。
现在的问题是:如果用这三种食物作为每天的主要食物,那么它们的用量应各取多少才能全面准确地实现这个营养要求?四、上机心得体会通过此次上机实验,我进一步的认识到了Matlab软件的功能。
Matlab 操作简单、功能强大,它使一些复杂的线性代数问题的计算变得更加简单,有效地提高了人们计算的效率。
而且把一些复杂的实际问题转化为矩阵后再利用Matlab求解既简单有快捷。
MATLAB在线性代数实际问题中的应用

的 同 学 认 为 通 过 对 该 软 件 的 学 习 收 获 了 自信 心 和 成 就 感 ,
还 有 4 % 的 同 学 认 为 该 软 件 培 养 了 他 们 的动 手 实 践 能 力 , 1 而 在 这 所 有 的收 获 中有 将 近 一 半 的 同 学 认 为 通 过 对 该 软 件 的 学 习 最 重 要 的 收 获 是 培 养 了 他 们 学 习 数 学 的 兴 趣 . 一 这 点 对 高 职 的 学 生 来 说 是 非 常 重 要 的 , 为 他 们 的 数 学 基 础 因 普 遍 较 差 , 易 对 数 学 丧 失 信 心 和兴 趣 , 学 软 件 MA L B 容 数 TA 让 他 们 重 拾 学 习 数 学 的兴 趣 和 信 心 . 数 学 来 源 于 现 实 , 在 于 现 实 , 应 用 于 现 实 . 实 际 存 也 对 问 题 的 研 究 不 仅 可 以 让 学 生 体 会 数 学 的 应 , 价 值 , 会 应 E l j 学 用 数 学 解 决 问 题 , 且 对 数 学 本 身 的 源 头 、 想 方 法 有 更 为 而 思
单 位 食 物 所 含 的 营养 营 养
食 物 一 蛋 白质 脂 肪 3 6 O 食 物 二 5 l 7 食 物 三 1 3 11 . 3 3 3
线 性代 数作 为 高 等 学 校 一 门 重 要 的 基 础 课 程 , 计 算 在
机科学 、 程技术 、 济 管理 等诸 多领域 有着 广 泛 的应用. 工 经
由 以上 的计 算 我 们 可知 : 们 每 天 摄 人 0 27 我 . 7 2个 单 位
的食 物一 ,. 9 9个 单 位 的 食 物 二 ,. 3 2个 单 位 的 食 物 03 1 023 三就 可 以保 证 我们 的健 康 饮 食 了.
《基于MATLAB的线性代数实用教程》第十二章:综合实例(2)

基于MATLAB的线性代数 实用教程
第十二章 综 合 实 例
王 亮
北 京 交 通 大 学
12.5 小船渡河问题
• 问题提出
• 一只小船渡过宽为d的河流,目标是起点A正对着的另一岸 B点。已知船在静水中的速度 与水流速 之比为k。小船运 动过程中,船头始终指向B点,求: • 1)建立小船航线的方程,求其解析解; v2 2m / s,用数值解法求渡河所 v1 1m / s , • 2)设d =100 m, 需时间、任意时刻小船的位置及航行曲线,做图并与解析 解比较; • 3)若流速 为0.5,2和2.5 (m/s),试分析结果将如何?
V 195m3。即花岗岩巨石的体积约为195m3 • 于是,
习 题
车灯线光源优化设计的实施方案
12.5 小船渡河问题
• MATLAB仿真
• 我们可以通过MATLAB观察小船的运动轨迹:
• • • • • • • • • • • • • • >> a=pi/2:-0.01*pi:0; d=100; k=2; >> r=d*abs(tan(a/2).^k./sin(a)); >> polar(a,r,'-o') >> hold on >> k=1; >> r= d*abs(tan(a/2).^k./sin(a)); >> polar(a,r,'.') >> k=5 >> r=d*abs(tan(a/2).^k./sin(a)); >> polar(a,r,'-^') >> k=0.8; >> r=d*abs(tan(a/2).^k./sin(a)); >> polar(a,r,‘-*’) >> legend('k=2','k=1','k=5','k=0.8')
《基于MATLAB的线性代数实用教程》第十二章:综合实例(1)

•
3)生产系统生产方式存在3种形式:正 常班次生产、加班生产和外协。见表
项 目 成 本 0.3元/季度
1 2 3
4
450 450 750
450
90 90 150
90
20 200 200
60
单位产品的库存价格
单位产品的正常班次生产成本 单位产品的加班生产成本 单位产品的外协成本
1.00 1.50 1.90
项 目 成 本 0.3元/季度 1.00 1.50
1.90
3 4
单位产品的库存价格 单位产品的正常班次生产成本 单位产品的加班生产成本
单位产品的外协成本
需求期1 c1 =1.0 c2 =1.5 c3 =1.9 c4 =0 c5 =0 c6 =0 c7 =0 c8 =0 c9 =0 c10 =0 c11 =0 c12 =0
lb (0,0)
ub (1200,2000)
2 4 A 3 1
即最优解为 : ,Aeq=(),beq=()
x1=900,x2= 1950
可获得最大利润为112500元。
线性规划练习
• •
季度 需求
在生产计划编制过程中,遇到下述情况 ,希望通过优化设计取得最佳方案: 1)计划期内每一时间单位的预测需求量 是已知的,如表所示:
MATLAB求解
• 在MATLAB中,线性规划问题的标准形式描述为
min : fx x R n sub.to : A x ≤ b Aeq x beq lb ≤ x ≤ ub
• 式中f,x,b,beq,lb,u为矢量;A,Aeq为矩阵。 • 函数linprog用于求解线性规划问题,调用形式为: • [x, fval, exitflag, lamda]=linprog(f, A, b, Aeq, beq, lb, ub) • 式中,x为最优解,fval为目标函数最优值,exitflag为终止 迭代的错误条件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Advances in Applied Mathematics 应用数学进展, 2019, 8(3), 424-429Published Online March 2019 in Hans. /journal/aamhttps:///10.12677/aam.2019.83048Application Examples of Linear AlgebraBased on MATLABWei Yang1, Shuping Gao2, Bing Han3, Huaichen Chen31School of Physics and Optoelectronic Engineering, Xidian University, Xi’an Shaanxi2School of Mathematics and Statistics, Xidian University, Xi’an Shaanxi3School of Electornoc Engineering, Xidian University, Xi’an ShaanxiReceived: Feb. 14th, 2019; accepted: Feb. 27th, 2019; published: Mar. 6th, 2019AbstractThis paper gives three examples of the application of linear algebra. It includes rigid body plane motion, information retrieval and bacteria conversion. MATLAB software is used for numerical calculation and drawing.KeywordsLinear Algebra, Application of Linear Algebra, MATLAB基于MATLAB的线性代数应用案例杨威1,高淑萍2,韩冰3,陈怀琛31西安电子科技大学物理与光电工程学院,陕西西安2西安电子科技大学数学与统计学院,陕西西安3西安电子科技大学电子工程学院,陕西西安收稿日期:2019年2月14日;录用日期:2019年2月27日;发布日期:2019年3月6日摘要本文给出了线性代数三个精彩应用案例,包括刚体平面运动、情报检索及细菌转换,并利用MATLAB软件进行数值计算和绘图分析。
杨威 等关键词线性代数,线性代数应用,MATLABCopyright © 2019 by author(s) and Hans Publishers Inc.This work is licensed under the Creative Commons Attribution International License (CC BY)./licenses/by/4.0/1. 引言线性代数是一门实用性很强的基础课程,航空、建筑、计算机、经济、金融等等相关学科都需要大量的线性代数知识。
但是,在目前国内教材里,关于线性代数的应用内容涉及很少,甚至没有涉及。
随着矩阵阶数的增加,线性代数中各种运算的运算量将会剧增,所以利用计算机软件实现线性代数运算是当今线性代数教学改革的必要内容。
国内大多教材缺少了这方面内容,虽然个别新教材加入了MATLAB 软件内容,但其与线性代数知识分离,并没有很好地把线性代数理论与MATLAB 软件深度融合。
本文分别介绍了三个精彩的线性代数应用案例,并用MATLAB 软件进行计算和绘图,并对结果进行了分析讨论。
2. 刚体的平面运动用矩阵X 来描述平面坐标系中的一个闭合图形(即“刚体”),X 的列向量表示图形n 个顶点的坐标。
为了实现刚体的平移及旋转运算,给矩阵X 添加元素值都为1的一行,使矩阵X 的形状为3 × n 。
若有矩阵:121001001c M c =,cos sin 0sin cos 0001t t R t t − = ,且:1Y MX =,2Y RX = 可以证明,矩阵1Y 是刚体X 沿x 轴正方向平移1c ,沿y 轴正方向平移2c 后的结果;矩阵2Y 是刚体X 以坐标原点为中心逆时针旋转t 弧度的结果[1]。
例1. 表1给出大写字母A 的11个顶点坐标值,其中最后一列与第一列相同,表示一个完整的闭合图形。
对图形A 先逆时针旋转3π4,然后向上移动30,再向右移动20,并绘制移动前后的图形。
Table 1. Vertex coordinates of letter A 表1. 字母A 的顶点坐标x 0 4 6 10 8 5 3.5 6.1 6.5 3.2 2 0 y141411664.54.5解:构造刚体矩阵0461085 3.5 6.1 6.5 3.22001414001166 4.5 4.500111*********X= , 旋转矩阵3π3πcos sin 0443π3πsin cos 044001R −=及平移矩阵10200130001M = 。
Open Access杨威 等在MATLAB 的M 文件编辑器中编写程序l1.m % 刚体的平面运动 close allX=[0,4,6,10,8,5,3.5,6.1,6.5,3.2,2,0;0,14,14,0,0,11,6,6,4.5,4.5,0,0;ones(1,12)]; % 构造原刚体矩阵 M=[1,0,20;0,1,30;0,0,1]; %构造平移转矩阵 R=[cos(3*pi/4),-sin(3*pi/4),0;sin(3*pi/4),cos(3*pi/4),0;0,0,1]; %构造旋转矩阵Y3=M*R*X; %通过线性变换计算移动后的刚体矩阵 plot(X(1,:),X(2,:)); % 绘制原来刚体 hold on axis equalfill(Y3(1,:),Y3(2,:),'black'); % 绘制旋转及平移后刚体 grid on hold off在MATLAB 命令窗口中输入:l1 绘制图形如图1所示。
Figure 1. Letter A before and after moving 图1. 字母A 移动前后图形3. 情报检索现代情报检索技术是在矩阵理论的基础上发展起来的。
情报中心的数据库中存放着大量文件,我们希望从中搜索到与自己特定关键词相匹配的文件。
假设数据库中包含了n 个文件,而搜索所用的关键词有m 个,把关键词排序,我们就可以把数据库表示为m × n 矩阵A ,称矩阵A 为搜索矩阵。
若第i 个关35302520151050-10 -5 0 5 10 15 20 25 30杨威 等键词出现在第j 个文件中,则矩阵A 的第i 行第j 列元素为1,否则为0。
用于搜索的关键词清单可用m 维列向量x 表示,称为关键词搜索向量。
如果关键词清单中第i 个关键词在搜索列中出现,则x 的第i 个元素就为1,否则就为0。
当确定了搜索矩阵A 和搜索向量x 后,进行线性变换运算:T y A x =,其中向量y 即为检索结果[1]。
例2. 若数据库包含以下四个书名:线性代数,线性代数及其应用,线性代数与解析几何,矩阵代数及其应用。
而有五个搜索关键词:几何,代数,线性,矩阵,应用。
请写出搜索矩阵A 。
如果某读者输入的关键词为“代数,矩阵”,请写出关键词搜索向量x ,并计算搜索结果向量y ,最后说明搜索结果向量的含义。
解:当第i 个关键词出现在第j 本书名上时,矩阵A 的元素i j a 就等于1,否则就等于0。
表2给出了搜索矩阵构造表。
Table 2. Search matrix table of Information retrieval 表2. 情报检索搜索矩阵表关键词 书线性代数线性代数及其应用线性代数与解析几何矩阵代数及其应用几何 0 0 1 0 代数 1 1 1 1 线性 1 1 1 0 矩阵 0 0 0 1 应用11根据表2得搜索矩阵为00101111111000010101=A ,关键词搜索向量为01010=x ,用MATLAB 计算搜索结果向量T y A x =。
在MATLAB 命令窗口输入:A=[0,0,1,0;1,1,1,1;1,1,1,0;0,0,0,1;0,1,0,1] x=[0;1;0;1;0] y=A'*x 计算结果为: y = 1 1 1 2y 的各个分量表示各书与关键词搜索向量x 的匹配程度,即y 的第k 个分量表示第k 本书所含关键词的个数,y 的第四个分量是2,说明第四本书包含了两个关键词,故第四本数匹配程度最高。
4. 细菌转换人口迁移问题、基因突变问题、细菌转换问题等都属于线性代数的同一类应用实例,此类问题的解杨威 等决方法是先构造转换矩阵,然后根据相似对角化来求矩阵的高次幂,最后利用MATLAB 软件计算和分析结果[1]。
例3. 李博士培养了一罐细菌,在这个罐子里存放着A 、B 、C 三类不同种类的细菌,最开始A 、B 、C 三种细菌分别有108、2 × 108、3 × 108个。
它们每天都要发生类型转化,转化情况如下:A 类细菌一天后有5%的变为B 类细菌、15%的变为C 细菌;B 类细菌一天后有30%的变为A 类细菌、10%的变为C 类细菌;C 类细菌一天后有30%的变为A 类细菌、20%的变为B 类细菌。
请问一周后李博士的A 、B 、C 类细菌各有多少个?随着时间的增加,细菌数量会不会保持一个稳定状态?解:表3给出了第n 天与第n + 1天三种细菌相互变换情况。
Table 3. Table of conversion of three bacteria 表3. 三种细菌相互变换情况表A nB nC n A n +1 0.8A n 0.3B n 0.3C n B n +1 0.05A n 0.6B n 0.2C n C n +10.15A n0.1B n0.5C n用向量n x 来表示第n 天三种细菌的个数,即n n n n A x B C=;用向量1n x +来表示第n +1天三种细菌的个数,即1111n n n n A x B C ++++ = ,那么根据表3有矩阵关系:1110.80.30.30.050.60.20.150.10.5n n n n n n A A B B C C +++ = ,设0.80.30.30.050.60.20.150.10.5P = ,则有:277650x Px P x P x ==== ,其中8011023x =。
在MATLAB 命令窗口输入: p=[0.8,0.3,0.3;0.05,0.6,0.2;0.15,0.1,0.5] x0=10^8*[1;2;3] x7=p^7*x0 计算结果为 x7 =357968750 112555355 1294758957x 的三个元素分别为一周后李博士A 、B 、C 三种细菌数量。