• 领导讲话
  • 自我介绍
  • 党会党课
  • 文秘知识
  • 转正申请
  • 问题清单
  • 动员大会
  • 年终总结
  • 工作总结
  • 思想汇报
  • 实践报告
  • 工作汇报
  • 心得体会
  • 研讨交流
  • 述职报告
  • 工作方案
  • 政府报告
  • 调研报告
  • 自查报告
  • 实验报告
  • 计划规划
  • 申报材料
  • 当前位置: 勤学考试网 > 公文文档 > 调研报告 > 正文

    线性代数实验报告汇总x

    时间:2020-09-22 20:23:50 来源:勤学考试网 本文已影响 勤学考试网手机站

    线性代数实验报告

    线性代数实验报告

    数学实验报告题目

    第一次实验题目

    一4

    -2

    2〕

    一1

    3

    41

    1.已知A =

    -3

    0

    5

    ,B =

    -2

    0

    -3

    ,在MATLAB命令窗口中建立

    1

    5

    3 一

    2

    -1

    1 一

    实验目的

    1 ?熟悉MATLAB的矩阵初等运算;

    2?掌握求矩阵的秩、逆、化最简阶梯形的命令;

    3 ?会用MABLAB求解线性方程组

    问题求解和程序设计流程

    矩阵并对其进行以下操作:

    计算矩阵A的行列式的值det(A)二?

    分别计算下列各式:

    2A-B、 A B 和 A. B、 ABJ、 A」B、 A2、 AT

    解:

    A、B

    (1)编写程序如下:

    A=[4 -2 2;-3 0 5;1 5 3];

    B=[1 3 4;-2 0 -3;2 -1 1];

    a=det(A)

    运行结果:

    a =

    -158

    (2)编写程序如下:

    C=2*A-B

    D=A*B

    E=A.*B

    F=A/B

    G=A\B

    H=A*A

    K=A' 运行结果:

    C =

    7-7 0

    -4 0 13

    0

    11

    5

    D =

    12

    10

    24

    7 -14

    -7

    -3

    0

    -8

    E =

    4

    -6

    8

    6

    0

    -15

    2

    -5

    3

    F =

    0

    0

    2.0000

    -2.7143

    -8.0000

    -8.1429

    2.4286

    3.0000

    2.2857

    G =

    0.4873

    0.4114

    1.0000

    0.3671

    -0.4304

    0

    -0.1076

    0.2468

    0

    H =

    24

    2

    4

    -7

    31

    9

    -8

    13

    36

    K =

    4

    -3

    1

    -2

    0

    5

    2

    5

    3

    在MATLAB中分别利用矩阵的初等变换及函数 rank、函数inv求下列矩阵的秩:

    解:(1)■13【一1-6

    解:

    (1)

    ■1

    3

    【一1

    -6

    -5

    21

    0

    -11 2 4

    编写程如下:

    求 Rank(A)=?

    (2) B =

    1【

    0

    0

    2

    format rat

    A=[1 -6 3 2;3 -5 4 0;-1 -11 2 4]; rref(A)

    运行结果:

    ans =

    1

    0

    0

    -8/5

    0

    1

    0

    0

    0

    0

    1

    6/5

    由a经初等变换后得到的行最简型可知:

    A的秩为3。

    A=[1 -6 3 2;3 -5 4 0;-1 -11 2 4];

    ran k(A)

    直接利用rank函数求出A的秩为3.

    编写程序如下:

    B=[3 5 0 1;1 2 0 0;1 0 2 0;1 2 0 2]; in v(B)

    运行结果:

    ans =

    2.0000-1.0000-1.0000-4.00002.50002.0000-0.5000

    2.0000

    -1.0000

    -1.0000

    -4.0000

    2.5000

    2.0000

    -0.5000

    -1.0000

    0.5000

    0.5000

    0.5000

    0.5000

    在MATLAB中判断下列向量组是否线性相关,并找出向量组中的一个最大线性 无关组:冷=1,1,3,2 ,: 2 二 T,1,T,3 宀3 = 5,-2,8,9,— 一1,3,1,7

    解:编写程序如下:

    format rat

    A=[1 -1 5 -1;1 1 -2 3;3 -1 8 1;2 3 9 7]; a=det(A);

    if a==0

    fprintf('以上矩阵线性相关') b=rref(A)

    else

    fprintf('以上矩阵线性无关')

    end

    运行结果:

    以上矩阵线性相关

    b =

    12/1159/33-2/33 TOC \o "1-5" \h \z 1 0 0

    12/11

    59/33

    -2/33

    0 1 0

    0 0 1

    0 0 0

    分析:由运行结果可知:该向量组的一个极大无关组为:

    4、在MATLAB中判断下列方程组解的情况,若有多个解,写出通解:

    (1)X"! _x

    (1)

    X"! _x2 +4x3 _2x4 = 0

    % —x2 —x3 +2% =0

    3x1 x2 7x3 _2x4 = 0

    为-3x2 -12x3 6x4 = 0

    2x1 3x2 x3 = 4

    ⑵ X1 - 2x2 + 4x3 = -5

    "3% + 8x2 - 2x3 = 13

    4为 - x2 9x3 = -6

    解:(1)编写程序如下:format ratA=[1 -1 4 -2;1 -1 -1 2;3 1 7 -2;1 -3 -12 6]; a=ra nk(A)if a==4fprintf( '

    解:(1)编写程序如下:

    format rat

    A=[1 -1 4 -2;1 -1 -1 2;3 1 7 -2;1 -3 -12 6]; a=ra nk(A)

    if a==4

    fprintf( '该方程组只有零解\n'

    else a<4

    fprintf( '该方程组有多组解\n'

    a=null(A, 'r');

    syms k1 k2

    x=k1*a(:,1)+k2*a(:,2)

    end

    运行结果:

    4

    该方程组只有零解

    (2)编写程序如下:

    运行结果format ratB=[2 3 1 4;1

    运行结果

    format rat

    B=[2 3 1 4;1 -2 4 -5;3 8 -2 13;4 -1 9 -6]; rref(B)

    ans =

    10

    1

    0

    0

    0

    分析:

    1 -1 2

    TOC \o "1-5" \h \z 0 0 0

    0 0 0

    由B的增广矩阵的最简型可知,该方程组有无穷多组解。

     编程如下:

    format rat

    a=n ull(B, 'r');

    syms k1 k2

    x=k1*a(:,1)+k2*a(:,2)

    运行结果如下:

    [-2*k1+k2]

    [k1-2*k2]

    [ k1]

    [ k2]

    分析:

    记x3,x4为自由未知量k1,k2,则该方程组的通解为:

    X仁-2*k1+k2

    X2= k1-2*k2

    X3= k1

    X4= k2

    广2

    2

    -2^

    5、化方阵A =

    2

    5

    -4

    为对角阵

    i—2

    -4

    5」

    解:编写程序如下:

    format rat

    A=[2 2 -2;2 5 -4;-2 -4 5];

    [tx,tz]=eig(A)

    运行结果:

    tx =

    TOC \o "1-5" \h \z -963/3230 2584/2889 1/3

    -963/1615 -1292/2889 2/3

    -963/1292 0 -2/3

    tz =

    1 0

    0

    0 1

    0

    0 0

    10

    分析:由以上运行结果可直接得出:A的对角矩阵为tz

    TOC \o "1-5" \h \z 1 0 0

    0 1 0

    0 0 10

    6、求一个正交变换,将二次型f邑为2?5x; 3x" -2^x2 6x1x^6x2x3化为标准型。

     解:编写程序如下:

    A=[5 -1 3;-1 5 -3;3 -3 3];

    [P,D]=eig(A)

    运行结果:

    0.4082 0.7071 -0.5774

    -0.4082 0.7071 0.5774

    -0.8165 0 -0.5774

    -0.0000 0 0

    0 4.0000 0

    0 0 9.0000

    分析与结论:

    由以上运行结果可知,求得的正交向量 P为:

    P =

    0.4082 0.7071 -0.5774

    -0.4082 0.7071 0.5774

    -0.8165 0 -0.5774

    使得 Ap=diag( 0,4,9).

    因此,通过正交变换X=py,可以将f化为标准型:

    f=4 +9 .

    第二次实验题目

    、实验目的

    熟悉三维空间中的线性变换,加深对正交变换保持距离不变性的理解

    深刻理解矩阵特征值的内涵

    、问题求解和程序设计流程

    A =

    1

    2 1 1 \

    3 -JT 3>/T

    1c 4

    3 3 J2

    2 1 1

    是正交矩阵

    问题:

    使用图形窗口的旋转工具,你发现了什么问题?你能否说明上述向量序列 (点) 分布在两个不同的圆周上?若是,你如何证明以及这两个圆的方程是什么?

    例4与例5生成向量序列(点)在空间分布“形状”不同是因为什么?分别计 算例4和例5中变换矩阵的行列式与特征值,你发现了什么?

    若上述变换矩阵为实对称正交矩阵,情况又如何?

    如果每次迭代的正交矩阵也在变化,即

    Xk i =人兀,k =0,1,2,::

    你如何描述上面迭代生成的迭代序列?

    解:(1)因为进行迭代并执行程序得:

    编写程序:

    x=ran d(3,1)

    A=[2/3,1/sqrt(2),1/(3*sqrt(2));1/3,0,-4/(3*sqrt(2));2/

    3,-1/sqrt (2) ,1/(3*sqrt (2))];

    ax=x;

    n=100;

    for k=1: n

    x=A*x;

    ax=[ax,x];

    end

    plot3(ax(1,:),ax(2,:),ax(3,:),'*')

    运行结果:

    0.9134

    0.6324

    可以观察到上述向量序列(点)分布在两个不同的圆周上 验证如下:

    编写程序如下:

    x=[0.9134;0.6324;0.0975];

    A=[2/3,1/sqrt(2),1/(3*sqrt(2));1/3,0,-4/(3*sqrt(2));2/3,- 1/sqrt(2),1/(3*sqrt(2))];

    ax=x;

    n=100;

    for k=1: n

    x=A*x; ax=[ax,x];

    end

    for k=1:99 dot(cross(ax(:,k),ax(:,k+1)),ax(:,k+2))

    end

    运行结果:

    ans =

    -0.2232

    ans =

    0.2232

    ans =

    -0.2232

    ans =

    0.2232

    ans =

    -0.2232

    运行结果按照上述规律依次排列。

    分析与结论:

    因为三个向量混合积的结果为相隔一个分别相等, 所以可以形成两个半径不

    同的圆。即上述向量序列(点)分布在两个不同的圆周上。

    求圆方程如下:

    编写程序如下:

    x=[0.9134;0.6324;0.0975];

    A=[2/3,1/sqrt(2),1/(3*sqrt(2));1/3,0,-4/(3*sqrt(2));2/3,-1/sqr

    t(2),1/(3*sqrt (2))];

    ax=x;

    n=100;

    for k=1: n

    x=A*x;

    ax=[ax,x];

    end

    for k=3:2:99

    if no rm(ax(:,1)-ax(:,k)) <no rm(ax(:,1)-ax(:,k+2))

    d1=n orm(ax(:,1)-ax(:,k+2));

    m仁 ax(:,k+2);

    end

    end

    for t=4:2:98

    if norm(ax(:,2)-ax(:,t))< norm(ax(:,2)-ax(:,t+2))

    d2=norm(ax(:,2)-ax(:,t+2));

    m2=ax(:,t+2);

    end

    end r仁 d1/2

    A=(x+m1);

    A=A';

    r2=d2/2

    B=(x+m2);

    B=B';

    fprintf(' 圆1的方程是:

    (x-%.4f)A2+(y-%.4f)A2+(z-%.4f)A2=%.4fA2\n',A(1)/2,A(2)/2,A(3)/

    2,r1)

    fprintf(' 圆2的方程是:

    (x-%.4f)A2+(y-%.4f)A2+(z-%.4f)A2=%.4fA2\n',B(1)/2,B(2)/2,B(3)/

    2,⑵

    运行结果:

    r1 =

    1.1047

    r2 =

    1.1047

    圆 1 的方程是:(x--0.0587)A2+(y-0.1072)A2+(z-0.0901)A2=1.1047A2 圆 2 的方程是:仪--0.0315)八2+仪-0.1026)八2+仗--0.1381)八2=1.1047八2 分析与结论:

    上述向量序列(点)分布在两个不同的圆周上,且该两圆半径相等。

    (2)两者空间分布不同时由于变换矩阵的行列式互为相反数。

     编程如下:

    format

    A=[-0.6068,0.4443,-0.6591;-0.4007,-0.8871,-0.2290;-0.6865,0.12 51,0.7163];

    B=[2/3,1/sqrt(2),1/(3*sqrt(2));1/3,0,-4/(3*sqrt(2));2/3,-1/sqr

    t(2),1/(3*sqrt (2))];

    [a,tza]=eig(A)

    [b,tzb]=eig(B)

    q=det(A)

    w=det(B)

    运行结果:

    0.3864 + 0.0000i

    0.0298 + 0.0000i

    -0.9219 + 0.0000i

    -0.0081 - 0.6521i

    0.7068 + 0.0000i

    0.0195 - 0.2734i

    -0.0081 + 0.6521i

    0.7068 + 0.0000i

    0.0195 + 0.2734i

    tza =

    1.0000 + 0.0000i

    0.0000 + 0.0000i

    0.0000 + 0.0000i

    0.0000 + 0.0000i

    -0.8888 + 0.4583i

    0.0000 + 0.0000i

    0.0000 + 0.0000i

    0.0000 + 0.0000i

    -0.8888 - 0.4583i

    0.3819 + O.OOOOi

    -0.6982 + O.OOOOi

    -O.6O56 + O.OOOOi

    O.6535 + O.OOOOi

    O.2O4O + O.4633i

    O.1769 - O.5342i

    O.6535 + O.OOOOi

    O.2O4O - O.4633i

    O.1769 + O.5342i

    tzb =

    -1.OOOO + O.OOOOi

    -1.OOOO + O.OOOOi

    O.OOOO + O.OOOOi

    O.OOOO + O.OOOOi

    O.OOOO + O.OOOOi

    O.9512 + O.3O86i

    O.OOOO + O.OOOOi

    O.OOOO + O.OOOOi

    O.OOOO + O.OOOOi

    O.9512 - O.3O86i

    q =

    1.OOOO

    -1.OOOO

    分析与结论:

    由于两矩阵一行列式为1,另一为-1,导致结果不同

    编写程序如下:

    x=ra nd(3,1)

    A=[1 O O;O 1 O;O O 1];

    ax=x;

    n=1OO;

    for k=1: n

    x=A*x;

    ax=[ax,x];

    end

    plot3(ax(1,:),ax(2,:),ax(3,:), ' *')

    运行结果:

    分析与结论:

    选取最简单的以实对称正交矩阵,单位矩阵。得到上述结果,只有一个点

    编写程序如下:

    x=ra nd(3,1);

    A=ra nd(3,3);

    ax=x;

    n=100;

    for k=1: n

    B=ra nd(3,3);

    A=orth(B);

    x=A*x;

    ax=[ax,x];

    end

    plot3(ax(1,:),ax(2,:),ax(3,:), '*')

    运行结果:

    分析与结论:

    由n+1个点够成一个球,且当上述程序中循环次数 n增大时,形成的球体越规

    整。如当n取1000时,结果如下:

    三、实验总结与体会

    通过此次对 matlab 的上机学习,我掌握了其基本操作方法,对利用 matlab

    对矩阵进行基本计算,和基本编程都有了了解与学习,,并对matlab在矩阵方面的应 用有了一定程度的了解和认识。学会了如何用matlab对实际线性代数问题进行解决, 可以利用matlab进行基本的运算和编程操作,对矩阵的运算有了进一步的了解。

    掌握了:

    1 ?熟悉MATLAB的矩阵初等运算;

    2?掌握求矩阵的秩、逆、化最简阶梯形的命令;

    3 ?会用MABLAB求解线性方程组

    但在学习中还发现一些问题:

    如对较复杂的方程组求解过程还需进一步学习与掌握;

    在解决问题时应灵活处理,并力争去寻找其最简方法;

    应进一步强化自己对矩阵相关知识的理解, 学会将个方面知识串通起来灵 活运用。

    在今后的学习和工作中,应进一步深入学习 matlab ,使自己熟练掌握其应用,

    并利用Matlab平台对线性代数矩阵问题进行学习。

    14

    • 考试时间
    • 范文大全
    • 作文大全
    • 课程
    • 试题
    • 招聘
    • 文档大全

    推荐访问