数学实验1.docx
- 文档编号:8033922
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:16
- 大小:231.54KB
数学实验1.docx
《数学实验1.docx》由会员分享,可在线阅读,更多相关《数学实验1.docx(16页珍藏版)》请在冰点文库上搜索。
数学实验1
重庆大学
学生实验报告
实验课程名称数学实验
开课实验室DS1422
学院计算机学院年级2013专业班物联网2班
学生姓名卢锦晔学号20135195
开课时间2014至2015学年第2学期
总成绩
教师签名
数学与统计学院制
开课学院、实验室:
DS1422实验时间:
2015年3月30日
课程
名称
数学实验
实验项目
名称
MATLAB软件入门
实验项目类型
验证
演示
综合
设计
其他
指导
教师
肖剑
成绩
实验目的
[1]熟悉MATLAB软件的用户环境;
[2]了解MATLAB软件的一般目的命令;
[3]掌握MATLAB数组操作与运算函数;
[4]掌握MATLAB软件的基本绘图命令;
[5]掌握MATLAB语言的几种循环、条件和开关选择结构。
通过该实验的学习,使学生能灵活应用MATLAB软件解决一些简单问题,能借助MATLAB软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。
实验内容
1.MATLAB软件的数组操作及运算练习;
2.直接使用MATLAB软件进行作图练习;
3.用MATLAB语言编写命令M-文件和函数M-文件。
基础实验
一、问题重述
1.设有分块矩阵
,其中E,R,O,S分别为单位阵、随机阵、零阵和对角阵,试通过数值计算验证
。
2.某零售店有9种商品的单件进价(元)、售价(元)及一周的销量如表1.1,问哪种商品的利润最大,哪种商品的利润最小;按收入由小到大,列出所有商品及其收入;求这一周该10种商品的总收入和总利润。
表1.1
货号
123456789
单件进价
7.158.253.2010.306.6812.0316.8517.519.30
单件售价
11.1015.006.0016.259.9018.2520.8024.1515.50
销量
568120575358039521041538810694
3.建立一个命令M-文件:
求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。
例如,153是一个水仙花数,因为153=13+53+33。
4.编写函数M-文件sq.m:
用迭代法求
的值。
求平方根的迭代公式为
迭代的终止条件为前后两次求出的x的差的绝对值小于105。
5.近景图将x的取值范围局限于较小的区间内可以画出函数的近景图,用于显示函数的局部特性。
局部放大在绘图时,把x的范围逐渐缩小,可把函数的细节部分展现的很清楚.特别是观察极限问题时,这种方法比较便利.
远景图函数的远景图,是把x的范围取得比较大,使我们能够在大范围内观察函数图像.当研究x趋向于∞时,这种方法给我们带来方便.
1)比较函数
在x→0时函数的性态。
观察到什么现象?
从观察到的现象,反映了什么结论。
2)在日常生活中我们有这样的经验:
与幂函数相比,指数函数是急脾气,对数函数是慢性子。
这就是说,当x→∞时,再小的指数函数也比幂函数变化快,再大的对数函数也比幂函数变化慢。
当x→∞时,比较
与
的大小.当x→∞时,比较
与
的大小.
3)在同一个坐标下作出y1=ex,y2=1+x,y3=1+x+(1/2)x2,y4=1+x+(1/2)x2+(1/6)x3这四条曲线的图形,要求在图上加各种标注,观察到什么现象?
发现有什么规律?
同时用subplot分别在不同的坐标系下作出这四条曲线,为每幅图形加上标题。
4).作出下列曲面的3维图形,
;
5).作出函数y=x4-4x3+3x+5(x[0,6])的图形,用小红点标出其在[0,6]之间的最小值点,并在最小值点附近标出该最小值点的坐标值;
二、实验过程(一般应包括实验原理或问题分析,变量说明、程序、调试情况记录、图表等,实验结果及分析)
1.
Ø源程序:
E=eye(3,3)
R=rand(3,2)
O=zeros(2,3)
a=[3 2]
S=diag(a)
A=[E R;O S]
B=[E R+R*S;O S^2]
If
B==A^2
disp('right')
else
disp('wrong’)
end
Ø运行结果:
E=
100
010
001
R=
0.27850.9649
0.54690.1576
0.95750.9706
O=
000
000
a=
32
S=
30
02
A=
1.0000000.27850.9649
01.000000.54690.1576
001.00000.95750.9706
0003.00000
00002.0000
B=
1.0000001.11402.8947
01.000002.18750.4728
001.00003.83002.9118
0009.00000
00004.0000
Right
分析:
在该题中应该注意’*’与’.*’的区别,避免不必要的错误。
题中涉及的矩阵函数有eye、
Rand、zeros、diag等,还有矩阵合并和结果输出的有关知识。
2.
Ø源程序:
a=1:
9
b=[7.158.253.2010.306.6812.0316.8517.519.30]
c=[11.1015.006.0016.259.9018.2520.8024.1515.50]
d=[568120575358039521041538810694]
x=c.*d
profit=(c-b).*d
f=sum(x)
g=sum(profit)
[income,number]=sort(x)
Ø运行结果:
Ø分析:
此题最重要的部分是sort函数的应用,实现数组元素的排序和输出其在数组中对应的位置。
另外,从中我还学会了利用数组对一系列的数据进行运算处理。
3.
Ø计算程序
fora=1:
1:
9
forb=0:
1:
9
forc=0:
1:
9
A=a*100+b*10+c;
ifA==a^3+b^3+c^3
disp(A)
end
end
end
end
Ø最终结果:
153370371407
Ø分析:
此题使我进一步熟悉了循环语句for、while等的基本格式和应用方法,值得注意的是每一个循环语句或条件语句的出现,必定要对应的出现一个end,这一点很容易忽视。
4.
Ø源程序:
functionf=sq(a)
ifa>=0
x=eps;
y=1/2*(x+a/x);
while(abs(x-y)>=10^(-5))
x=y
y=1/2*(x+a/x)
end
f=x
else
disp('theirexisterrors')
end
Ø运行结果
调用sq(16),输出结果是4.0000
Ø分析:
此题要求掌握利用循环语句进行迭代,实现开方方程的求解,另外x的取值有一定的讲究,在该题题设的情况下,很显然x>=0,但从迭代公式的形式可以得到,x不能等于0,这就要求x从一个较为接近0的数开始取,于是就得引用eps(计算机能辨别的最小值)。
5.
(1)
Ø源程序:
x=-1:
0.0001:
1;
y1=x;
y2=x.^3;
y3=y1+y2;
plot(x,y1,x,y2,x,y3)
Ø运行结果
分析
当x→0时,f(x)与g(x)很接近,而h(x)与前两个函数都不接近。
(2)
Ø源程序:
x=linspace(5000,8000,500);
y1=x.^10;
y2=1.1.^x;
Subplot(1,2,1),plot(x,y1),xlabel('x');ylabel('y)');grid;
title('y=x^1^0');
Subplot(1,2,2),plot(x,y2),xlabel('x');ylabel('y)');grid;
title('y=1.1^x');
Ø运行结果
分析:
从上图可以看出来指数函数变化快
Ø源程序:
x=linspace(5000,8000,500);
y1=x.^0.001;
y2=1000.*log(x);
Subplot(1,2,1),plot(x,y1),xlabel('x');ylabel('y)');grid;
title('y=x^0.001');
Subplot(1,2,2),plot(x,y2),xlabel('x');ylabel('y)');grid;
title('y=1000.*log(x)');
Ø运行结果
分析:
由以上函数图形可知对数函数变化比幂函数慢。
(3)
Ø源程序:
x=linspace(0,2.50);
y1=exp(x);
y2=1+x;
y3=1+x+0.5.*x.^2;
y4=1+x+0.5.*x.^2+1./6.*x.^3;
plot(x,y1,'b.'),gtext('y1=exp(x)');
holdon,plot(x,y2,'y-'),gtext('y2=1+x');
plot(x,y3,'g:
'),gtext('y3=1+x+0.5.*x.^2');
plot(x,y4,'m--'),gtext('y4=1+x+0.5.*x^2+1./6.*x.^3');
holdoff
Ø作图结果
(4)
Ø作图程序
x=-10:
0.6:
10;
y=x;
[X,Y]=meshgrid(x,y);
Z=sin(pi.*sqrt(X.^2+Y.^2));
surf(X,Y,Z)
xlabel('x')
ylabel('y')
zlabel('z')
title('z=sin(pi*sqrt(x.^2+y.^2)')
shadingflat
Ø作图结果
Ø分析:
在该题中,需要用到三维作图相关函数meshgrid、mesh、surf,注释函数xlabel、ylabel、zlabel、title和开方函数sqrt,最后还涉及到了幂函数等。
通过这道题,我充分运用并巩固了作图方面的基础知识。
(5)
Ø作图程序
x=0:
0.1:
6;
y=x.^4-4.*x.^3+3.*x+5;
plot(x,y)
[y1,x1]=min(y);
holdon
plot(x(x1),y1,'r.','MarkerSize',20)
holdoff
a=['x=',num2str(x(x1))];
b=['y=',num2str(y1)];
min=char(a,b);
text(x(x1),y1+50,min)
Ø作图结果
6.自由发挥:
自己提出问题,实验探索,广泛联想,发现规律,大胆猜想。
比如函数cos(1/x)在x=0附近的振荡现象,有无规律可寻?
Ø问题
用两种方法在同一个坐标下作出y1=x2,y2=x3,y3=x4y4=x5这四条曲线的图形,并要求用两种方法在图上加各种标注。
Ø程序
(1)
x=linspace(-2,2,40);
y1=x.^2;
y2=x.^3;
y3=x.^4;
y4=x.^5;
plot(x,y1,'m')
holdon,plot(x,y2,'r');plot(x,y3,'g');plot(x,y4,'k');holdoff
text(-0.6,0.4,'\leftarrowy1=x^2')
text(-0.9,0.2,'y2=x^3\rightarrow')
text(-0.9,-0.1,'y3=x^4\rightarrow')
text(-0.8,-0.6,'\leftarrowy4=x^5')
xlabel('x')
ylabel('y')
title('ͼʾ')
Ø程序
(2)
x=linspace(-1,1,20)
y1=x.^2;y2=x.^3;y3=x.^4;y4=x.^5;
plot(x,y1,x,y2,x,y3,x,y4)
gtext('y1=x^2');
gtext('y2=x^3');
gtext('y3=x^4');
gtext('y4=x^5')
xlabel('x')
ylabel('y')
title('curves')
Ø分析在表达乘方的时候要用“y1=x.^2”的形式,在表达x分量的时候可以用linspace和直接用
生成数组的形式。
主要函数:
plot:
生成图片;holdon和oldoff用来在同一幅图中描图;text:
用程序对图片加标注;gtext:
用鼠标在图中加字符;title:
用于对图片加标题。
总结与体会
通过该实验的学习,我更加熟悉掌握了MATLAB的作图、数组运算、基本函数的表达与应用,能灵活利用MATLAB软件解决一些简单问题,能借助MATLAB软件的绘图功能,了解一般情况下不易被我们所认知的函数的一些特性,并且能够利用数组、循环语句等基本知识实现迭代法求解部分函数方程。
教师签名
年月日
备注:
1、同一章的实验作为一个实验项目,每个实验做完后提交电子稿到服务器的“全校任选课数学实验作业提交”文件夹,文件名为“学院学号姓名实验几”,如“机械20073159张新实验一”。
2、提交的纸质稿要求双面打印,中途提交批改不需要封面,但最后一次需将该课程所有实验项目内页与封面一起装订成册提交。
3、综合实验要求3人合作完成,请在实验报告上注明合作者的姓名。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 实验