【matlab】基本操作(二)实验报告

实验目的与要求:

1  熟悉matlab工作环境

2  掌握建立矩阵的方法和基本的矩阵运算

3  掌握matlab各种表达式的书写规则以及常用函数的使用

4  用矩阵求逆法解线性方程组

实验内容:

P360  1,3,4  

P362  4,5(1)

一、先求下列表达式的值。

提示:利用冒号表达式生成向量。

  1.   二、设有矩阵A和B
  1. 求它们的乘积C。
  2. 求A+A、A*A、A^2。
  3. 求B+1、B-1、B-C、B.*3、B.^2、B./2。

(4)取A矩阵的最后一行,B矩阵的中间列。

(5)交换A矩阵的一二行。

  1.  三、完成下列操作:
  1. 求之间能被21整除的数的个数,并求出分别是多少?

提示:先利用冒号表达式,再利用find和length函数。

  1. 建立一个字符串向量,删除其中的大写字母。

提示:利用find函数和空矩阵。

提示:用逻辑表达式求分段函数。

  1.  四、已知              

求A的特征值及特征向量。

  1.  五、下面是一个线性方程组:                                                                                         

                      

 求方程的解。

源程序和运行结果:

请同学写好题目编号,仿照第一题的样式,写出标准答案。

一、

源程序

Z1= 2*sin(85/180*pi)/(1+exp(2))

结果

Z1 =

0.2375

1,

2,

3,

 a=-3.0:0.1:3.0

a =

  1 至 9 列

   -3.0000   -2.9000   -2.8000   -2.7000   -2.6000   -2.5000   -2.4000   -2.3000   -2.2000

  10 至 18 列

   -2.1000   -2.0000   -1.9000   -1.8000   -1.7000   -1.6000   -1.5000   -1.4000   -1.3000

  19 至 27 列

   -1.2000   -1.1000   -1.0000   -0.9000   -0.8000   -0.7000   -0.6000   -0.5000   -0.4000

  28 至 36 列

   -0.3000   -0.2000   -0.1000         0    0.1000    0.2000    0.3000    0.4000    0.5000

  37 至 45 列

    0.6000    0.7000    0.8000    0.9000    1.0000    1.1000    1.2000    1.3000    1.4000

  46 至 54 列

    1.5000    1.6000    1.7000    1.8000    1.9000    2.0000    2.1000    2.2000    2.3000

  55 至 61 列

    2.4000    2.5000    2.6000    2.7000    2.8000    2.9000    3.0000

 z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)

z3 =

  1 至 5 列

   0.7388 + 3.1416i   0.7696 + 3.1416i   0.7871 + 3.1416i   0.7913 + 3.1416i   0.7822 + 3.1416i

  6 至 10 列

   0.7602 + 3.1416i   0.7254 + 3.1416i   0.6784 + 3.1416i   0.6196 + 3.1416i   0.5496 + 3.1416i

  11 至 15 列

   0.4688 + 3.1416i   0.3780 + 3.1416i   0.2775 + 3.1416i   0.1680 + 3.1416i   0.0497 + 3.1416i

  16 至 20 列

  -0.0771 + 3.1416i  -0.2124 + 3.1416i  -0.3566 + 3.1416i  -0.5104 + 3.1416i  -0.6752 + 3.1416i

  21 至 25 列

  -0.8536 + 3.1416i  -1.0497 + 3.1416i  -1.2701 + 3.1416i  -1.5271 + 3.1416i  -1.8436 + 3.1416i

  26 至 30 列

  -2.2727 + 3.1416i  -2.9837 + 3.1416i -37.0245 + 0.0000i  -3.0017 + 0.0000i  -2.3085 + 0.0000i

  31 至 35 列

  -1.8971 + 0.0000i  -1.5978 + 0.0000i  -1.3575 + 0.0000i  -1.1531 + 0.0000i  -0.9723 + 0.0000i

  36 至 40 列

  -0.8083 + 0.0000i  -0.6567 + 0.0000i  -0.5151 + 0.0000i  -0.3819 + 0.0000i  -0.2561 + 0.0000i

  41 至 45 列

  -0.1374 + 0.0000i  -0.0255 + 0.0000i   0.0792 + 0.0000i   0.1766 + 0.0000i   0.2663 + 0.0000i

  46 至 50 列

   0.3478 + 0.0000i   0.4206 + 0.0000i   0.4841 + 0.0000i   0.5379 + 0.0000i   0.5815 + 0.0000i

  51 至 55 列

   0.6145 + 0.0000i   0.6366 + 0.0000i   0.6474 + 0.0000i   0.6470 + 0.0000i   0.6351 + 0.0000i

  56 至 60 列

   0.6119 + 0.0000i   0.5777 + 0.0000i   0.5327 + 0.0000i   0.4774 + 0.0000i   0.4126 + 0.0000i

  61 列

   0.3388 + 0.0000i

2.1,

 A=[1:5;6:10;11:15;16:20;21:25]

A =

     1     2     3     4     5

     6     7     8     9    10

    11    12    13    14    15

    16    17    18    19    20

    21    22    23    24    25

>> B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11]

B =

     3     0    16

    17    -6     9

     0    23    -4

     9     7     0

     4    13    11

>> C=A*B

C =

    93   150    77

   258   335   237

   423   520   397

   588   705   557

   753   890   717

2.2,

 A+A

ans =

     2     4     6     8    10

    12    14    16    18    20

    22    24    26    28    30

    32    34    36    38    40

    42    44    46    48    50

>> A*A

ans =

         215         230         245         260         275

         490         530         570         610         650

         765         830         895         960        1025

        1040        1130        1220        1310        1400

        1315        1430        1545        1660        1775

 A.^A

ans =

   1.0e+34 *

    0.0000    0.0000    0.0000    0.0000    0.0000

    0.0000    0.0000    0.0000    0.0000    0.0000

    0.0000    0.0000    0.0000    0.0000    0.0000

    0.0000    0.0000    0.0000    0.0000    0.0000

0.0000    0.0000    0.0021    0.1334    8.8818

2.3,

B+1

ans =

     4     1    17

    18    -5    10

     1    24    -3

    10     8     1

     5    14    12

>> B-1

ans =

     2    -1    15

    16    -7     8

    -1    22    -5

     8     6    -1

     3    12    10

>> B-C

ans =

   -90  -150   -61

  -241  -341  -228

  -423  -497  -401

  -579  -698  -557

  -749  -877  -706

>> B.*3

ans =

     9     0    48

    51   -18    27

     0    69   -12

    27    21     0

    12    39    33

>> B.^2

ans =

     9     0   256

   289    36    81

     0   529    16

    81    49     0

    16   169   121

>> B./2

ans =

    1.5000         0    8.0000

    8.5000   -3.0000    4.5000

         0   11.5000   -2.0000

    4.5000    3.5000         0

    2.0000    6.5000    5.5000

2.4,

 A(5,:)

ans =

    21    22    23    24    25

B(:,2)

ans =

     0

    -6

    23

     7

    13

2.5,

D=A(1,:); A(1,:)=A(2,:) ;A(2,:)=D

A =

     6     7     8     9    10

     1     2     3     4     5

    11    12    13    14    15

    16    17    18    19    20

    21    22    23    24    25

或者用A([2,1,3,4,5],:)

3.1,

>> a=100:1:999;

 k= rem(a,21)==0;

>> p=find(k==1)

p =

  列 1 至 22

     6    27    48    69    90   111   132   153   174   195   216   237   258   279   300   321   342   363   384   405   426   447

  列 23 至 43

   468   489   510   531   552   573   594   615   636   657   678   699   720   741   762   783   804   825   846   867   888

>> g=length(p)

g =

    43

>> a(k)

ans =

  列 1 至 22

   105   126   147   168   189   210   231   252   273   294   315   336   357   378   399   420   441   462   483   504   525   546

  列 23 至 43

   567   588   609   630   651   672   693   714   735   756   777   798   819   840   861   882   903   924   945   966   987

3.2,

 ch=input('you want word:','S')

you want word:shohououS

ch =

    'shohououS'

>> k=find(ch>='A'&ch<='Z')

k =

     9

>> ch(k)=[]

ch =

    'shohouou'

3.3,

y1=(t>=0&t<1).*t.^2;

y2=(t>=1&t<2).*(t.^2-1);

>> y3=(t>=2&t<3).*(t.^2-2*t+1);

z4=y1+y2+y3

z4 =

         0    0.2500         0    1.2500    1.0000    2.2500

4,

A=[-29,6,18;20,5,12;-8,8,5]

A =

   -29     6    18

    20     5    12

    -8     8     5

>> e=eig(A)

e =

  -25.3169

  -10.5182

   16.8351

>> [V,D]=eig(A)

V =

    0.7130    0.2803    0.2733

   -0.6084   -0.7867    0.8725

    0.3487    0.5501    0.4050

D =

  -25.3169         0         0

         0  -10.5182         0

         0         0   16.8351

5,

format rat

>> B=hilb(6)

B =

       1              1/2            1/3            1/4            1/5            1/6     

       1/2            1/3            1/4            1/5            1/6            1/7     

       1/3            1/4            1/5            1/6            1/7            1/8     

       1/4            1/5            1/6            1/7            1/8            1/9     

       1/5            1/6            1/7            1/8            1/9            1/10    

       1/6            1/7            1/8            1/9            1/10           1/11    

>> E=B([1:3],[2:4])

E =

       1/2            1/3            1/4     

       1/3            1/4            1/5     

       1/4            1/5            1/6     

>> c=[0.95;0.67;0.52]

c =

      19/20    

      67/100   

      13/25    

>> x=E\c

x =

       6/5     

       3/5     

       3/5   

  • 19
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
仿真软件与应用实践1 MATLAB基础实验报告(代码总结心得)一、实验目的和要求: 1、掌握数组与矩阵的创建、矩阵运算与数组运算、基本元素群运算和向量与矩阵的特殊处理; 2、掌握维图形、三维曲线和曲面图形的绘制以及标注; 、实验内容: 1、利用“:”操作符和 linspace 函数生成数组 a=[0,6,12,18,24,30,36,42],并将数组 a 分别转化为 4*2 和 2*4 的矩阵。 2、在MATLAB中输入矩阵A=[■(3&6&8&1@-5&7&22&17@6&9&16&-12@15&13&-21&0)],并使用MATLAB回答以下问题: (1)创建一个有A中第2列到第4列所有元素组成的4*3数组B; (2)创建一个有A中第3行到第4行所有元素组成的2*4数组C; (3)创建一个有A中前两行和后三列所有元素组成的2*3数组D; (4)根据A利用单下标方法和双下标方法分别创建向量a=[-5 6 15],b=[6 8 1],并利用向量a和b生成矩阵E=[■(-5&6@6&8@15&1)];并利用“[]”删除矩阵A的第行和第三列。 3、已知a=[■(1&3&4@5&12&44@7&8&27)],b=[■(-7&8&4@12&24&38@68&-5&3)],c=[1,0,8,3,6,2, 4,23,46,6]; (1)求a+b,a*b,a.*b,a/b,a./b,a^2,a.^2的结果,并观察分析运算结果; (2)求c中所有元素的平均值、最大值、中值,并将c中元素按从小到大顺序排列; (3)解释b(2:3,[1,3])的含义,并将生成的数组赋值给d。 4、已知A=[■(7&2&1&-2@9&15&3&-2@-2&-2&11&5@1&3&2&13)],用MATLAB求矩阵A的秩(rank)、行列式(determinant)、逆(inverse)、特征值及特征向量(eigenvalue and eigenvector)。 5、用MATLAB求方程组[■(7&2&1&-2@9&15&3&-2@-2&-2&11&3@1&3&2&13)]*[■(x_1@x_2@x_3@x_4 )]=[■(4@7@-1@0)]的解。 6、用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线,并为图形添加必要的图形标注。 7、在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线,并为图形添加必要的图形标注。 8、在xy平面内选择区域[-8,8]*[-8,8],绘制函数z=(sin√(x^2+y^2 ))/√(x^2+y^2 )的三种三维曲面图。
这是一个关于 Matlab 矩阵运算实验的报告。 1. 实验目的 掌握 Matlab 矩阵运算的基本操作,包括矩阵的定义、矩阵的加减乘除、矩阵的转置、矩阵的逆矩阵等。 2. 实验步骤 首先,我们需要定义一个矩阵。在 Matlab 中,可以使用以下命令来定义一个矩阵: ```matlab A = [1 2 3; 4 5 6; 7 8 9]; ``` 这个命令将定义一个 3 行 3 列的矩阵 A,每个元素的值分别为 1、2、3、4、5、6、7、8 和 9。 接下来,我们可以进行矩阵的加减乘除操作。例如,我们可以使用以下命令将两个矩阵相加: ```matlab B = [9 8 7; 6 5 4; 3 2 1]; C = A + B; ``` 这个命令将定义一个新的矩阵 C,它的每个元素都是矩阵 A 和矩阵 B 对应位置上的元素之和。 类似地,我们可以使用以下命令将两个矩阵相乘: ```matlab D = A * B; ``` 这个命令将定义一个新的矩阵 D,它的每个元素都是矩阵 A 的每一行与矩阵 B 的每一列对应元素的乘积之和。 除此之外,我们还可以对矩阵进行转置、求逆矩阵等操作。例如,以下命令将对矩阵 A 进行转置: ```matlab E = A'; ``` 这个命令将定义一个新的矩阵 E,它的每一行都是矩阵 A 的对应列。 最后,以下命令将对矩阵 A 求逆矩阵: ```matlab F = inv(A); ``` 这个命令将定义一个新的矩阵 F,它是矩阵 A 的逆矩阵。 3. 实验结果 在 Matlab 中,我们可以使用 disp 命令来显示一个矩阵的值。例如,以下命令将显示矩阵 A 的值: ```matlab disp(A); ``` 输出结果为: ``` 1 2 3 4 5 6 7 8 9 ``` 同理,我们可以使用 disp 命令来显示其他矩阵的值。 4. 实验结论 通过本次实验,我们掌握了 Matlab 矩阵运算的基本操作,包括矩阵的定义、矩阵的加减乘除、矩阵的转置、矩阵的逆矩阵等。这些操作对于 Matlab 的使用非常重要,在实际工作中也会经常使用到。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值