MATLAB实验:运算基础,并且附有答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二、MATLAB运算基础

一、实验目的

掌握MATLAB各种表达式的书写规则及常用函数的使用。

掌握MATLAB中字符串、元胞数组和结构的常用函数的使用。

二、实验内容及步骤

1、设有矩阵A和B,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]

1)求它们的乘积C >>C=A*B

2)将矩阵C的右下角3x2子矩阵赋给

D >>I=[3 4 5];J=[2 3];D=C(I,J)也可以

用>>D=C([3 4 5],[2 3])

D =

520 397

705 557

890 717

2、完成下列操作

1)求[100,999]之间能被61整除的数及其个数(提示:先利用冒号表达式,再利用find和length函数。)

>> a=100:999;find(rem(a,61)==0)

ans =

23 84 145 206 267 328 389 450 511

572 633 694 755 816 877

>> b=a(ans)

b =

122 183 244 305 366 427 488 549 610 671 732 793 854 915 976

>> length(b)

ans =

15

2)建立一个字符串向量,删除其中的大写字母(提示:利用find函数和空矩阵。)a=’I am maying’;

a( find(a>’A’&a<’Z’))=[]

3、已知A=[23 10 -78 0;41 -45 65 5;32 5 0 32;

6 -54 92 14],取出其前3行构成矩阵B,其前两列构成

矩阵C,其左下角3x2子矩阵构成矩阵D,B与C的乘积构成矩阵E,分别求E

>>B=A([1 2 3 ],:)>> C=A(:,[1 2])>> D=A([2 3 4 ],[1

2 ])>> E=B*C

>> E

ans =

1 1

0 0

0 1 >> E&D

ans =

1 1

1 1

1 1 >> E|D

ans =

1 1

1 1

1 1 >> ~E|~D ans =

0 0

0 0

0 0

4、使用函数,实现矩阵左旋90°或右旋90°的功能>>rot90(A,1)

代表左旋90度

5、写出使以下这段文字成为字符串的MA TLAB指令。注意保持

这段文字的格式:

在英式用法中,引号通常是单引号,如'Fire!'。

In GB usage quotation marks are usually single: 'fire!'.

>> a='在英式用法中,引号通常是单引号,如''Fire!''。'

a =

在英式用法中,引号通常是单引号,如'Fire!'。

>> b='In GB usage quotation marks are usually single: ''fire!''. '

b =

In GB usage quotation marks are usually single: 'fire!'.

>>strvcat(a,b) %strvcat代表垂直拼接

ans =

在英式用法中,引号通常是单引号,如'Fire!'。

In GB usage quotation marks are usually single: 'fire!'

6. 用结构体数组来存储2名学生的基本情况数据,每名学生

的数据包括学号、姓名、专业和2门课程的成绩。

>> student=struct('xuehao',{000,001},'xingming',{'deni ','sherry'},'zhuanye',{'math','english'},'chengji',{'math:87,english:9 0','math:86,english:92'})

student =

1x2 struct array with fields:

xuehao

xingming

zhuanye

chengji

>> student(1)

ans =

xuehao: 0

xingming: 'deni '

zhuanye: 'math'

chengji: 'math:87,english:90'

>> student(2)

ans =

xuehao: 1

xingming: 'sherry'

zhuanye: 'english'

chengji: 'math:86,english:92'

7求S=20+21+22+23+24+……+210的值(提示:利用求和函数与累乘积函数。)方法一>> a=[1 2 2 2 2 2 2 2 2 2 2];c=cumprod(a)

c =

1 2 4 8 16

32 64 128 256 512 1024 >> sum(c)

ans =

2047

方法二>> a=0:10;

>> b=2.^a

b =

Columns 1 through 9

1 2 4 8 16 32 64 128 256

Columns 10 through 11

512 1024

>> c=sum(b)

c =

2047

8建立矩阵A并回答有关问题

A{1,1}=1;

A{1,2}='Brenden';

A{2,1}=reshape(1:9,3,3);

A{2,2}={12,34,2;54,21,3;4,23,67};

1)使用访问的方式如何将Brenden改写成BRENDEN?

相关文档
最新文档