Matlab实验题目与答案

来源:网络收集 时间:2025-04-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

(温馨提示:实验课结束后,请将所有作业(题目、代码、结果)利用word整理成一个完整的实验报告,加上封面,打印,纸质档于18周周一交)

第一次上机作业

目的:

1. 掌握MATLAB各种表达式的书写规则

2. 运行课堂上讲过的例子,熟悉矩阵、表达式的基本操作和运算。

作业:

1. 熟悉matlab集成环境界面。回答以下问题,并操作相关的指令:

(1) 分别写出清除命令窗口和清除变量的指令。 答: clc和clear

(2)在命令行输入命令后,matlab的搜索过程是怎样的? 答: (1)检查该命令对象是不是一个变量。 (2)检查该命令对象是不是一个内部函数。

(3)检查该命令对象是否为当前目录下的程序文件。

(4)检查该命令对象是否为MATLAB搜索路径中其他目录下的M文件。 (3)什么是matlab的当前工作目录?写出两种设置当前工作目录的方法? 答: 就是matlab当前文件读取和存储的默认路径 (1)在当前目录窗口中更改

(2)在MATLAB桌面工具栏中更改

(3)使用cd命令:cd c:\\mydir---将c:\\mydir设置为当前目录 (4)什么是matlab的搜索路径?写出两种设置搜索路径的方法? 答: 指Matlab运行文件时进行搜索的目录。 (1)用path命令设置: (2)用Set Path对话框设置

(5)help命令和doc命令有什么作用,它们有什么区别?

答: help命令:最基本的帮助命令,查询信息直接显示在命令窗口。

doc命令:在帮助窗口中显示HTML帮助文档,显示函数的详细用法及 例子,比help命令更详细。

2. 在matlab中输入下列表达式,并求各表达式的值,显示MATLAB工作空间的使用情况

并用两种方式保存全部变量,变量保存的文件名必须包含自己的学号后四位数: (1)w?2?(1?0.34245?10?6)

w=sqrt(2)*(1+0.34245*10^-6) w =

1.4142

2?a?(2)x?b?c?e2??abc, 其中a=3.5,b=5,c=9.8。 tan(b?c)?a a=3.5;b=5;c=9.8;x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) x =

6.6186

(2)y?2??[(1?2?4)??(0.8333??4)?],其中??3.32,???7.9

alpha=3.32;beta=-7.9;y=2*pi*alpha^2*[(1-pi/4)*beta-(0.8333-pi/4)*alpha] y =

-128.4271

(3)z?12teln(t?2?21?3i?1?t2),其中t???

?5?0.65?t=[2,1-3i;5,-0.65] t =

2.0000 1.0000 - 3.0000i 5.0000 -0.6500

>> z=0.5*exp(2*t)*log(t+sqrt(1+t^2)) z =

1.0e+004 *

0.0057 - 0.0007i 0.0049 - 0.0027i 1.9884 - 0.3696i 1.7706 - 1.0539i

?1310?0.5?4?573. 已知A???350?4?6?9.54??? ???1) 取出A的第2、4、8、12、10、9个元素构成一个新的矩阵A1,其中A的第2、4

个矩阵构成新矩阵的第一行;第8、12个矩阵构成新矩阵的第二行;第10、9个矩阵构成新矩阵的第三行;

A=[13,10,-0.5;4,-5,7;3,5,0;6,-9.54,4] A =

13.0000 10.0000 -0.5000 4.0000 -5.0000 7.0000 3.0000 5.0000 0

6.0000 -9.5400 4.0000 A1=A([2,4;8,12;10,9])

A1 =

4.0000 6.0000 -9.5400 4.0000 7.0000 -0.5000

将A1的所有元素构成一个行向量;

A2=A1(:)

A2 =

4.0000 -9.5400 7.0000 6.0000 4.0000 -0.5000

>> A2'

ans =

4.0000 -9.5400 7.0000 6.0000 4.0000 -0.5000

?0.7780??2310?41?45?655? 4. 已知A???325032???6?9.54543.14??1) 取出A的前三行构成矩阵B,其前两列构成矩阵C,其右下角3×2子矩阵构成的

矩阵D,B与C的乘积构成矩阵E。

A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14] A =

23.0000 10.0000 -0.7780 0 41.0000 -45.0000 65.0000 5.0000 32.0000 5.0000 0 32.0000 6.0000 -9.5400 54.0000 3.1400 B=A(1:3,:) B =

23.0000 10.0000 -0.7780 0 41.0000 -45.0000 65.0000 5.0000 32.0000 5.0000 0 32.0000 C=A(1:4,1:2)

C =

23.0000 10.0000 41.0000 -45.0000 32.0000 5.0000 6.0000 -9.5400 D=A(2:4,3:4) D =

65.0000 5.0000 0 32.0000 54.0000 3.1400 E=B*C E =

1.0e+003 *

0.9141 -0.2239 1.2080 2.7123 1.1330 -0.2103

2) 分别求E

ans =

0 1 0 0 0 1 E&D

ans =

1 1 0 1 1 1 E|D

ans =

1 1 1 1 1 1 ~E|~D

ans =

0 0 1 0 0 0

?1?2??5. 使用函数,实现方阵A左旋90、右旋270的功能,A???3??4A=[1,4,7,10;2,5,8,11;3,6,9,12;4,7,10,13] A =

1 4 7 10 2 5 8 11 3 6 9 12 4 7 10 13 B=rot90(A) B =

10 11 12 13 7 8 9 10 4 5 6 7 1 2 3 4 C=rot90(A,-3) C =

10 11 12 13 7 8 9 10 4 5 6 7 1 2 3 4

10?5811??。 6912??71013?47

6. 请将矩阵A的第4列所有元素删除,并使用函数将A矩阵转变为一个行向量B,其中

?1352???A??4317?。

??9732?? A=[1,3,5,2;4,3,1,7;9,3,7,2] A =

1 3 5 2 4 3 1 7 9 3 7 2 A(:,[4])=[] A =

1 3 5 4 3 1 9 3 7

第二次上机作业

准备&目的:

1.掌握MATLAB各种表达式的书写规则

2.运行第二章课堂上讲过的例子,熟悉矩阵、表达式的基本操作和运算,掌握字符串、单元矩阵和结构矩阵的相关内容。

作业:

1.继续完成第一次上机实验未完成的作业。

??15?4??83?1???,B??253?,求下列表达式的值,并注意第(2)

782.已知A?0(3)???????3617????320??题表达式的结果有何特点:

(1)A?6B、A?B?I(其中I为单位阵); A=[-1,5,-4;0,7,8;3,61,7]

A =

-1 5 -4 0 7 8 3 61 7

>> B-[8,3,-1;2,5,3;-3,2,0] B=[8,3,-1;2,5,3;-3,2,0] B =

2 8 3 -1 2 5 3

-3 2 0 (1)A+6*B

ans =

47 23 -10 12 37 26 -15 73 7 I=eye(3,3) I =

1 0 0 0 1 0 0 0 1 A^2-B+I

ans =

-18 -217 17 22 533 109 21 867 526

(2)A*B、A.*B、B*A、B.*A;

A*B

ans =

14 14 16 -10 51 21 125 328 180 A.*B

ans =

-8 15 4 0 35 24 -9 122 0 B*A

ans =

-11 0 -15

7 228 53 3 -1 28 B.*A

ans =

-8 15 4 0 35 24 -9 122 0

(3)A/B、B\\A、A./B、B.\\A;

A/B

ans =

1.2234 -0.9255 2.9787 -0.9468 2.3511 -0.9574 4.6170 3.8723 13.8936 B\\A

ans =

-0.5106 -8.6170 -1.1277 0.7340 17.5745 1.8085 -0.8830 -21.2128 0.4043 A./B

Warning: Divide by zero.

ans =

-0.1250 1.6667 4.0000 0 1.4000 2.6667 -1.0000 30.5000 Inf B.\\A

Warning: Divide by zero.

ans =

-0.1250 1.6667 4.0000 0 1.4000 2.6667 -1.0000 30.5000 Inf

(4)[A, B]、[A([1 3],:);B^2]。

[A,B]

ans =

-1 5 -4 8 3 -1 0 7 8 2 5 3 3 61 7 -3 2 0 [A([1 3],:);B^2]

ans =

-1 5 -4 3 61 7 73 37 1 17 37 13 -20 1 9

3.产生均值为3,方差为1 的5阶正态分布的随机方阵。

A=3+sqrt(1)*randn(5) A =

2.5674 4.1909 2.8133 3.1139 3.2944 1.3344 4.1892 3.7258 4.0668 1.6638 3.1253 2.9624 2.4117 3.0593 3.7143 3.2877 3.3273 5.1832 2.9044 4.6236 1.8535 3.1746 2.8636 2.1677 2.3082

4.建立一个字符串向量(要求字符串向量中必须包含自己的姓名,大小写均可),删除其中的大写字母。并统计小写字母的个数。

A='Ma Feiyue'

A =

Ma Feiyue

>> B=find(A>='A'&A<='Z') B =

1 4

>> A(:,[1,4])=[] A =

a eiyue

C=find(A>='a'&A<='z') C =

2 5 6 7 8 9

>> length(C)

ans =

6

5.分别用两种方法建立一个结构矩阵和一个单元矩阵来存储自己班上5名同学的基本情况数据(其中1名同学必须是自己,另外一名同学必须是女生),每名学生的数据包括学号、姓名、专业和6门课程的成绩。并查询自己的所有信息以及女生的成绩。然后将所有同学的成绩删掉。

>> s={20131597 'dupan' 'jixie' [99 98 97 96 95 95];20131596 'dsq' 'jixie' [99 98 97 96 95 95];20131610 'wangmenglu' 'jixie' [99 98 97 96 95 95];20131595 'caijingyu' 'jixie' [99 98 97 96 95 95];20131599 'fengfeng' 'jixie' [99 98 97 96 95 95];20131621 'zhougang' 'jixie' [99 98 97 96 95 95]}

>> s([1,3],:)

ans =

[20131597] 'dupan' 'jixie' [1x6 double] [20131610] 'wangmenglu' 'jixie' [1x6 double] s =

[20131597] 'dupan' 'jixie' [1x6 double] [20131596] 'dsq' 'jixie' [1x6 double]

[20131610] 'wangmenglu' 'jixie' [1x6 double] [20131595] 'caijingyu' 'jixie' [1x6 double] [20131599] 'fengfeng' 'jixie' [1x6 double] [20131621] 'zhougang' 'jixie' [1x6 double]

>> a(1).name='dupan'; a(1).xuehao=20131597; a(1).zhuanye='jixie';a(1).grade=[99 99 99 99 99 99];

>> a(2).name='dongsiqing'; a(2).xuehao=20131595; a(2).zhuanye='jixie';a(2).grade=[99 99 99 99 99 99];

>> a(3).name='caijingyu'; a(3).xuehao=20131596; a(3).zhuanye='jixie';a(3).grade=[99 99 99 99 99 99];

>> a(4).name='fengfeng'; a(4).xuehao=20131598; a(4).zhuanye='jixie';a(4).grade=[99 99 99

99 99 99];

>> a(5).name='wangmenglu'; a(5).xuehao=20131610; a(5).zhuanye='jixie';a(5).grade=[99 99 99 99 99 99];

>> a(6).name='zhougang'; a(6).xuehao=20131621; a(6).zhuanye='jixie';a(6).grade=[99 99 99 99 99 99];

a(1)

ans =

xuehao: 50131597 name: 'dupan' zhuanye: 'jixie'

grade: [99 99 99 99 99 99] a(5)

ans =

xuehao: 20131610

name: 'wangmenglu' zhuanye: 'jixie'

grade: [99 99 99 99 99 99]

6.列出第二章课堂上出现过的所有函数,知道它们的作用并试着调用这些函数。 7.分析脚本M文件及函数M文件的区别。

答: (1)脚本M文件没有输入参数,也不返回输出参数,而函数M文件可以带参数,也可以返回输出参数;

(2)脚本M文件对MATLAB工作空间中的变量进行操作,文件中所有命令的执行结果也完全返回到工作空间中,而函数M文件中定义的变量为局部变量,当函数M文件执行完毕时,这些变量被消除;

(3)脚本M文件可以直接运行,在MATLAB命令窗口中输入命令文件的名字,就会顺

执行命令文件中的命令,而函数M文件不能直接运行,而要用函数调用的方式运行。

第三次上机作业

准备&要求:

1、 运行课件第三章及课本第四章讲过的例子,掌握Matlab的流程控制语句、函数及脚本文

件的编程、调试方法。

2、 本次作业要求全部写M文件;

3、 题目要求未明确要求写脚本文件还是函数文件的,学生自己决定是写脚本文件还是函数

文件。只要能够实现要求。

作业:

1.继续完成第一次及第二次上机实验未完成的作业。

2.编写函数文件,实现从键盘输入一个3位整数,将它反向输出。如639,输出为936。并调用该函数,输入自己的学号后三位数,输出结果。

function y=func(x) a=fix(x/100); b=fix((x-a*100)/10); c=rem(x,10); y=a+b*10+c*100;

y=func(547) y =

745

3.求分段函数的值。

?x2?x?6, x?0且x??3?2y??x?5x?6, 0?x?5且x?2及x?3

?x2?x?1, 其它?用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5时的值。

x=input('please input:'); if x<0&x~=-3 y=x^2+x-6;

elseif 0<=x&x<5&x~=2&x~=3 y=x^2-5*x+6; else

y=x^2-x-1; end y

请输入x的值:-5

y =

14

请输入x的值:-3 y =

11

请输入x的值:1

y =

2

请输入x的值:2 y =

1

请输入x的值:2.5 y =

-0.2500

4.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分~100分为A,80分~89分为B,70分~79分为C,60分~69分为D,60分以下为E。

要求:分别用if语句和switch语句实现。

①if语句:x=input('please input:'); if x>=90&x<=100 disp('A'); elseif x>=80&x<=89 disp('B'); elseif x>=70&x<=79 disp('C'); elseif x>=60&x<=69 disp('D'); else

disp('E'); end

②switch语句:point=input('please input:') switch fix(point/10) case {9,10} disp('A'); case {8} disp('B'); case {7} disp('C'); case {6} disp('D'); case num2cell(0:5) disp('E'); end

5.某公司员工的工资计算方法如下:

1)工作时数超过120小时者,超过部分加发15%; 2)工作时数低于60小时者,扣发700元; 3)其余按每小时84元计发。

试编程按输入的工号和该号员工的工时数,计算应发工资。

x=input('please input hour:') if x>120

y=120*84+(x-120)*84*1.15; elseif x<60 y=84*x-700; else y=84*x; end y

第四次上机作业

准备&要求:

1.运行课件第三章及课本第四章讲过的例子,掌握Matlab的流程控制语句、函数及脚本文件的编程、调试方法。

2.本次作业要求全部写M文件;

3.题目要求未明确要求写脚本文件还是函数文件的,学生自己决定是写脚本文件还是函数文件。只要能够实现要求。

作业:

1.继续完成第一次、第二次及第三次上机实验未完成的作业。 2.分别编写脚本文件,实现以下要求:

1) 求[100,999]之间能被21整除的个数。

n=0;

for m=100:999 y=rem(m,21); if y==0 n=n+1; end end n

n = 43

2) 用magic(6)产生一矩阵,用至少两种方法求解其所有元素的和。(提示:1、for循环;

2、sum函数)

1、for循环:m=magic(6); a=0; for n=1:36 a=a+m(n); end a m =

35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11 y = 666

2、sum语句:m=magic(6)

a=0; n=1:36; a=m(n); y=sum(a); y

m =

35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11 y = 666

3.定义一个函数文件,求

?ii?1nm,要求在函数文件中包含能够通过help查询到的说明,说明

里面必须有自己的名字及学号。然后调用该函数文件求

function y=func(i,m,n) %name mafeiyue %xuehao 1547 y=0; for s=1:n y=y+i^m; i=i+1; end

1的值。 k?k????kk?1k?1k?121005010

y=func(1,1,100)+ func (1,2,50)+ func (1,-1,10) y =

4.7978e+004

sin(x?1.7)ln4.已知y???x,当x取-3.0,-2.9,-2.8,…,2.8,2.9,3.0时,

21?cos(x?1.7)1) 求各点的函数值;

①for x=-3.0:0.1:3.0;

y=(sin(x+1.7))*log((pi+x)/2)/(1+cos(x+1.7)); disp(y); end

2) 求这些数据的平均值;

a=0; b=0;

for x=-3.0:0.1:3.0;

y=(sin(x+1.7))*log((pi+x)/2)/(1+cos(x+1.7)); a=a+y; b=b+1; end c=a/b; c c =

0.1616

5. 根据

?26?1111???...?,求?的近似值。当n分别取100、1000、10000时,结2222123n果是多少?(要求:分别用循环结构和向量运算来实现)

function y=func(n) s=0; m=1; for i=1:n s=s+1/(m^2); m=m+1; end

y=sqrt(6*s); >> func(100) ans =

3.1321

>> func(1000) ans =

3.1406

>> func(10000) ans =

3.1415

6. 已知n=1时,f1=1;n=2时,f2=0;n=3时,f3=1;n>3时,fn=fn-1 -2fn-2+ fn—3;

求f1~ f100中,最大值、最小值以及各数之和。

f(1)=1; f(2)=0; f(3)=1; for n=4:100

f(n)=f(n-1)-2*f(n-2)+f(n-3); end

MAX=max(f) MIN=min(f) SUM=sum(f)

MAX =

4.3776e+11 MIN =

-8.9941e+11 SUM =

-7.4275e+11

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库Matlab实验题目与答案在线全文阅读。

Matlab实验题目与答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/173427.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219