当前位置:文档之家› MATLAB程序设计教程(第二版)第三章实验报告下载

MATLAB程序设计教程(第二版)第三章实验报告下载

大学社区网收集整理
评分
日期湖南商学院北津学院实验报告
课程名称MATLAB科学计算编程语言
实验名称MATLAB程序设计
专业班级信科1121班
姓名xxx
学号xxx
实验日期2012年11月5日
2012—2013学年度第一学期
一、实验目的
1.掌握利用if语句、switch语句实现选择结构的方法。

2.掌握利用for语句、while语句实现循环结构的方法。

3.熟悉利用向量运算来代替循环操作的方法并理解MATLAB程序设计的特点
4.掌握定义和调用MATLAB函数的方法。

二、实验环境
系统windows7旗舰版
处理器Intel(R)Core(TM)i7-3610M CPU @ 2.30GHz 安装内存 4.00GB (3.07GB 可用)系统类型64位操作系统运行环境
MATLAB 5.3
三、实验基本原理
利用上课所学知识解决以下问题:
1.从键盘输入一个3位数的整数,将它反向输出。

如输入639,输出936。

2.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。

其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

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

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

3.输入20个数,求其中最大数和最小数。

要求分别用循环结构和调用MATLAB 的max 函数、min 函数来实现。

4.23.0ln
)3.0sin(23.03.0a a e e y a a +++−=−,当a 取-3.0、-2.9、-2.8、…、2.8、2.9、
3.0时,求各点的函数值。

要求分别用顺序结构和循环结构实现。

5.当n 分别取100、1000、10000时,求下列各式的值:
(1))
6...(n
1...31211122222π=+++++(2))
2...()12)(12()2)(2(...756653443122π
=⎟⎟⎠
⎞⎜⎜⎝⎛+−⎟⎟⎠⎞⎜⎜⎝⎛××⎟⎟⎠⎞⎜⎜⎝⎛××⎟⎟⎠⎞⎜⎜⎝⎛××n n n n 要求分别用循环结构和向量运算(使用sum 函数)来实现。

6.建立5×6矩阵,要求输出矩阵第n 行元素。

当n 值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。

7已知,o999
)
20()30()40(f f f y +=
(1)当)5ln(10)(2
++=n n n f 时,y 的值是多小。

(2)当+×+×+×=433221)(n f …+)1(+×n n 时,y 的值是多小。

8.先用函数的递归调用定义一个函数文件求
∑=n
i m i 1,然后调用该函数文件求
∑∑∑===++10
1
50
12
100
11k k k k k k 。

四、实验内容与步骤:
1.从键盘输入一个3位整数,将它反向输出。

如输入639,输出为936。

clear
m=input('请输入一个三位数:');m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);m=m1+m2*10+m3*100;disp(m);lx1
请输入一个三位数:456
654
2.输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。

其中90~100分为A ,80~89分为B ,70~79分为C,60~69分为D ,60分以下为E 。

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

(2)输入百分制成绩后要判断该成绩的合理性,对
m='C';
case{6}
m='D';
case num2cell(0:5)
m='E';
otherwise
m='输入出错';
end
disp(m);
3.输入20个数,求其中最大数和最小数。

要求分别用循环结构和调用MATLAB的max函数、min函数来实现。

a=input('请输入二十个数');%用循环结构实现
max=a(1);
min=a(1);
for i=1:20;
if max<a(i);
max=a(i);
end
if min>a(i);
min=a(i);
end
end
max min lx3
请输入二十个数[1234567891011121314151617181920]max =
20min =
1clear
a=input('请输入二十个数');%以下用max 、min 函数实现
max=max(a)min=min(a)
4.y=
23.0ln )3.0sin(23.03.0a
a e e a a +++−−,当a 取-3.0、-2.9、-2.8、…、2.8、2.9、3.0时,求各点的函数值。

要求分别用顺序结构和循环结构实现。

clear
for a=-3.0:0.1:3.0
%用循环结构实现
y=((exp(0.3*a)-exp(-0.3*a))/2)*sin(a+0.3)+log((0.3+a)/2)end clear
a=[-3.0:0.1:3.0];
%用顺序结构实现
i=1:n;%用prod函数实现
b=prod((2.*i).*(2.*i)./((2.*i-1).*(2.*i+1)))
5×矩阵,要求输出矩阵第n行元素。

当n值超过矩阵的6.建立6
行数时,自动转为输出矩阵最后一行元素,并给出出错信息。

clear
a=rand(5,6);
n=input('请输入一个数:');
if n>5
n=5
a(n,:)
disp('输入超出范围');
else
a(n,:)
end
lx6
请输入一个数:5
ans=
0.89130.44470.17630.89360.1389 0.1988
>>lx6
请输入一个数:6
5ans =
0.4660
0.67210.83180.18970.1509
0.5936
输入超出范围7.已知
)
30()20()40(f f f y +=
(1)

)5ln(10)(2
++=n n n f 时,y 的值是多少。

function a=n2a(n)a=n+10*log(n*n+5)y=n2a(40)/(n2a(30)+n2a(20))a =113.8088a =
98.0793a =
80.0389y =
0.6390(2)
当)1(......433221)(+×++×+×+×=n n n f 时,y 的值是
多少。

function b=n1b(n)b=0;for i=1:n b=b+i*(i+1);end
y=n1b(40)/(n1b(30)+n1b(20))y =
1.7662
五、实验小结与思考:
1.什么叫M 文件?如何建立并执行一个M 文件?答:0
2.编写程序,建立向量N=[1,2,3,4,5],然后利用向量N 产生下列向量:(1)2,4,6,8,10(2)1/2,1,3/2,2,5/2(3)1,1/2,1/3,1/4,1/5(4)1,1/4,1/9,1/16,1/25
3.编写程序,产生20个两位随机整数,输出其中小于平均值的偶数。

答:
4.当n 分别取100、1000、10000时,求下列各式的值:(1)+−+−
7151311…)4
(π=(2)
+++64116141…++n 41…⎟⎠
⎞⎜⎝⎛=31要求分别用循环结构和向量运算(使用sum 函数)来实现。

5.编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用该函数。

6.定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。

相关主题