Matlab操作题

第一章操作题

1、设A为3行4列的矩阵,B为一个行数大于3的矩阵,写出MATLAB命令。
(1)删除A的第1、3两列。
(2)删除B的倒数第3行。

>> A=[1,2,3,4;5,6,7,8;1,2,3,4];
>> B=[1,2;3,4;5,6;7,8];
>> A(:,[1,3])=[]

A =

     2     4
     6     8
     2     4

>> B((end-2),:)=[]

B =

     1     2
     5     6
     7     8

2、建立一个字符串“I'm A STUDENT”,然后对该字符串做如下处理,写出MATLAB命令。
(1)将字符串中的大写字母变成相应的小写字母,其余字符不变。
(2)将子字符串“student”替换为字符串“teacher”

>> ch='I am A STUDENT';
>> k=find(ch>='a'&ch<='z');
>> ch(k)=ch(k)-('a'-'A')

ch =

    'I AM A STUDENT'

>> p=strrep(ch,'STUDENT','teacher')

p =

    'I AM A teacher'

3、分别求一个三位正整数的个位数字、十位数字和百位数字。

>> m=123;
>> ge=rem(m,10)

ge = 3

>> shi=rem(fix(m/10),10)

shi =  2

>> bai=fix(m/100)

bai = 1

4、求[1,100]区间的所有素数。

>> x=1:100;
>> k=isprime(x)  //用于判断是否为素数,是素数返回1

>> m=find(k);//找到k中非零元素的序号
>> p=x(m)

p =

  1 至 23 列

     2     3     5     7    11    13    17    19    23    29    31    37    41    43    47    53    59    61    67    71    73    79    83

  24 至 25 列

    89    97

5、建立一个字符串向量,然后对该向量做如下处理:
① 取第1~5个字符组成的子字符串。
② 将字符串倒过来重新排列。
③ 将字符串中的小写字母变成相应的大写字母,其余字符不变。
④ 统计字符串中小写字母的个数。

>> ch='ABCD1234ced';
>> p=ch(1:5)

p =  'ABCD1'

>> down=ch(end:-1:1)

down = 'dec4321DCBA'

>> k=find(ch>='a'&ch<='z');
>> ch(k)=ch(k)-('a'-'A')

ch =  'ABCD1234CED'

>> length(k)

ans =   3

第二章操作题

1、求下列矩阵的秩、迹和范数。

‎>> A=[0.43 43 2;-8.9 4 21;45 6 8];

>> rank(A)

ans =3

>> trace(A)

ans =12.4300

>> norm(A)

ans =48.1120

2、​产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp。

>> H=hilb(5)

H =

    1.0000    0.5000    0.3333    0.2500    0.2000
    0.5000    0.3333    0.2500    0.2000    0.1667
    0.3333    0.2500    0.2000    0.1667    0.1429
    0.2500    0.2000    0.1667    0.1429    0.1250
    0.2000    0.1667    0.1429    0.1250    0.1111

>> P=pascal(5)

P =

     1     1     1     1     1
     1     2     3     4     5
     1     3     6    10    15
     1     4    10    20    35
     1     5    15    35    70

>> Hh=det(H)

Hh =  3.7493e-12

>> Ht=det(P)

Ht =1

>> Th=cond(H)

Th = 4.7661e+05

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

>> A=[-29 6 18;20 5 12;-8 8 5];
>> [X,D]=eig(A)

X =

    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

4、产生5阶两位随机整数矩阵A,再产生均值为0.6、方差为0.1的5阶正态分布随机矩阵B,验证(A+B)I=IA+BI(I为单位矩阵)。

>> A=fix(10+90*rand(5))

A =

    78    73    84    49    54
    76    12    72    44    50
    45    34    38    78    68
    68    14    95    81    73
    25    18    13    26    77

>> B=0.6+sqrt(0.1)*rand(5)

B =

    0.6873    0.7576    0.8376    0.9034    0.8659
    0.8149    0.9035    0.6807    0.7730    0.6804
    0.8072    0.7076    0.7600    0.6438    0.8575
    0.6514    0.7851    0.8211    0.6472    0.6770
    0.6376    0.6708    0.8817    0.6814    0.8939

>> C=eye(5)

C =

     1     0     0     0     0
     0     1     0     0     0
     0     0     1     0     0
     0     0     0     1     0
     0     0     0     0     1
>> (A + B)*C==A*C + B*C

ans =

  5×5 logical 数组

   1   1   1   1   1
   1   1   1   1   1
   1   1   1   1   1
   1   1   1   1   1
   1   1   1   1   1

5、产生8阶魔方阵,求其每行每列元素的和。

>> A=magic(8)

A =

    64     2     3    61    60     6     7    57
     9    55    54    12    13    51    50    16
    17    47    46    20    21    43    42    24
    40    26    27    37    36    30    31    33
    32    34    35    29    28    38    39    25
    41    23    22    44    45    19    18    48
    49    15    14    52    53    11    10    56
     8    58    59     5     4    62    63     1

>> sum(A(1,:))

ans =260

>> sum(A(:,1))

ans =260

6、生成5阶帕斯卡矩阵,验证它的逆矩阵的所有元素也为整数。

>> format rat
>> pascal(5)

ans =

       1              1              1              1              1       
       1              2              3              4              5       
       1              3              6             10             15       
       1              4             10             20             35       
       1              5             15             35             70       

>> inv(pascal(5))

ans =

       5            -10             10             -5              1       
     -10             30            -35             19             -4       
      10            -35             46            -27              6       
      -5             19            -27             17             -4       
       1             -4              6             -4              1     

7、先建立5×5矩阵A,然后将A的第一行元素乘以1,第二行乘以2,…,第五行乘以5。

>> A=eye(5)

A =

       1              0              0              0              0       
       0              1              0              0              0       
       0              0              1              0              0       
       0              0              0              1              0       
       0              0              0              0              1       

>> D=diag(1:5);
>> D*A

ans =

       1              0              0              0              0       
       0              2              0              0              0       
       0              0              3              0              0       
       0              0              0              4              0       
       0              0              0              0              5       

8、验证魔方阵的主对角线、副对角线元素之和相等。

> A=magic(5);
>> D1=diag(A);
>> sum(D1)

ans =

      65  

>>B=flipud(A);
>>D2=diag(B);
>>sum(D2)
    ans =

      65       
9、用求逆矩阵的方法解线性方程组

>> A=[1,2,3;1,4,9;1,8,27];
>> b=[5;-2;6];
>> x=inv(A)*b

x =

      23       
     -29/2     
      11/3     


>> x=A\b

x =

      23       
     -29/2     
      11/3  

10、验证det(A-1)=1/det(A)。

>> format rat
>> A=[1,3,2;-3,2,1;4,1,2];
>> det(inv(A))==1/det(A)

ans =

  logical

   1

11、求3~20阶魔方阵的秩。

>> for n=3:20
r(n)=rank(magic(n))
end

12、求2~10阶希尔伯特矩阵的条件数。

>> for n=2:10
cond(hilb(n))
end

第三章操作题

1、  输入一个整数,若为奇数则输出其平方根,否则输出其立方根。 

>> x=input('请输入一个数:');
请输入一个数:9
>> if rem(x,2)==1
y=sqrt(x);
else y=x^(1\3);
end
>> y

y =

     3

2、 输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应数的平方,若为其他字符则原样输出。

  

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值