Matlab数学实验报告.docx
《Matlab数学实验报告.docx》由会员分享,可在线阅读,更多相关《Matlab数学实验报告.docx(46页珍藏版)》请在冰豆网上搜索。
Matlab数学实验报告
MATLAB与科学计算实验报告
指导老师:
易昆南
实验时间:
大二年级上学期
学
院:
数学科学与计算技术学院
专业班级:
统计0902
姓
名:
丁克明
学
号:
1304090112
1.学生成绩管理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3
2.函数极限问题⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
5
3.蛛网模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
7
4.水塔模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
10
5.混沌问题⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
12
6.koch曲线⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
14
7.拉格朗日与三次样条插值以及曲线拟合⋯⋯⋯
17
8.解线性方程组⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
20
9.矩阵对角化⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
23
10.
矩
阵
标
准
化⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯...24
11.摸球实验⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯26
12.钉板问题⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯26
13.火车问题⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯28
一、学生成绩管理
学号
1304090112
班级
统计
0902
姓名
丁克明
指导教师
易昆南
实验题目
学生成绩管理程序
评分
1、设计(实习)目的:
1结合实际问题展现MATLAB在生活和学习方面的广泛应用
2学会利用MATLAB编程并求解实际问题
3学会并运用for循环和switch结构,以及MATLAB中已有函数如
4了解单元数组cell和结构数组struct的作用,学会创建这些数组
sum
.
2、实验内容:
编写一个学生成绩管理的函数程序:
将学生成绩按五个等级划分:
优秀(90以上),良好
(80-90),中等(70-79),及格(60-69),不及格(60以下)对输入的学生成绩按五个等级划分后,打印学生姓名,得分,等级,并计算全班最高分、最低分、平均分。
3、详细设计
clear
fori=1:
10
a{i}=89+i;
b{i}=79+i;
c{i}=69+i;
d{i}=59+i;
end
c=[d,c];
Name=input('pleaseinputname:
');
Score=input('pleaseinputscore:
');
n=length(Score);
Rank=cell(1,n);
S=struct('Name',Name,'Score',Score,'Rank',Rank);
fori=1:
n
switchS(i).Score
case100
S(i).Rank='
满分';
casea
S(i).Rank='
优秀';
caseb
S(i).Rank='
良好';
casec
S(i).Rank='
及格';
cased
S(i).Rank='
不及格
';
end
end
disp(['
学生姓名
','
得分
','
等级'])
;
fori=1:
n
disp([S(i).Name,blanks(6),num2str(S(i).Score),blanks(6),S(i).Rank]);
end
s=0;
fori=1:
n
s=S(i).Score+s;
end
averscore=s/n;
t=S
(1).Score;
fori=1:
(n-1)
if(S(i).Score
t=S(i+1).Score;
end
end
m=S
(1).Score;
fori=1:
(n-1)
if(S(i).Score>S(i+1).Score)
m=S(i+1).Score;
end
end
disp(['平均成绩']);
disp([averscore]);
disp(['最高分']);
disp(t);
disp(['最低分']);
disp(m);
4、实验结果:
5、实验总结:
这是我第一次接触matlab并运用matlab解决实际问题,在以前学习C++的时候,解决一
个问题的代码会很繁琐。
但相同的问题,在matlab中却变得很简单。
这就是matlab的强大之处。
运用它可以方便的解决许多实际问题。
知道了这一点,我决心以后会认真的学习这样一门课程。
同时,它也给我们枯燥的数学公式的学习带来了动手解决实际问题的机会。
是将理论与实际相结合的方法。
让我们更加体会到知识的力量是强大的,我们应该更好的掌握科学技术和相关理论知识,并能够将其运用于实际生活当中。
在解决这个问题的时候也确实遇到了一些问题。
比如如何输入符号数组和数值数组的问题,当时一直不理解。
当通过查询资料,和同学讨论,最后明白了。
输入符号时,符号要用单引号,而数据就不需要了。
通过这样一次实践,我更加明白了动手的必要性。
只有理论知识是远远不够的。
所以以后一定要加强自己的动手能力,勤动手。
二、函数极限问题
学号
1304090112
班级
统计
0902
姓名
丁克明
指导教师
易昆南
实验题目
函数极限问题
评分
1、设计(实习)目的:
1结合实际问题展现MATLAB在生活和学习方面的广泛应用
2学会利用MATLAB编程并求解实际问题
3学会并运用movie和moviein
4理解getframe以及学会运用
函数,以及plot
axis调节坐标抽
结构。
2、实验内容:
自选函数,运用
plot
进行绘图。
并使用
movie
以及
moviein
,制作函数极限动画。
3、详细设计
clear
m=moviein(16);
holdon
fori=1:
50
forj=1:
i
t1=(j-1)*5;
t2=j*5;
t=t1:
0.01:
t2;
axis([0,40,-1,1])%
限制动画的坐标显示大小
plot(t,0,'.r')
plot(t,1./t,'.')
end
m(:
i)=getframe;
end
movie(m,50)
clear
m=moviein(16)
holdon
fori=1:
10
forj=1:
i
t1=(j-1)*pi/10;
t2=j*pi/10;
t=t1:
0.01:
t2;
axis([0,5*pi/2,-1,1])%限制动画的坐标显示大小
plot(pi-0.1,t,'.k')
plot(pi-0.1,-t,'.k')
plot(pi+0.1,-t,'.k')
plot(pi+0.1,t,'.k')
plot(t,0,'.r')
plot(t,sin(t),'.')
t1=(20-j)*pi/10;
t2=(21-j)*pi/10;
t=t1:
0.01:
t2;
axis([0,5*pi/2,-1,1])%限制动画的坐标显示大小
plot(t,0,'.r')
plot(t,sin(t),'.')
end
m(:
i)=getframe;
end
movie(m,50)
4、实验结果:
5、实验总结:
使用matlab进行绘图觉得很有意思,简单的代码,却能绘出各种颜色的图形动画。
在学习的
过程中还是有很多的问题。
还有很多方面的东西不够了解,只能边尝试边查询资料,让自己能够更了解,更明白。
以便绘出更好的图形。
三、蛛网模型
学号
1304090112实验题目
班级
统计蛛网模型
0902
姓名
丁克明
指导教师
评分
易昆南
1、设计(实习)目的:
1.学会运用Matlab解决实际问题
2.进一步掌握Matlab的一些基本操作
3.通过范例体会Matlab的初步建模过程
4学会用做动画
2、实验内容:
已知前两年的猪肉的产量和猪肉的价格分别为:
39吨,28吨,12元/公斤,17元/公斤,根据前一年的猪肉价格影响后一年猪肉产量当年猪肉产量影响当年猪肉价格的线性关系,编写程
序,利用动画原理画出前十年猪肉的产量——价格的动态图形。
(参数设置为,
c1=39,c2=28,c3=36,
r1=12,r2=17,k=16)。
3、详细设计
clear
%c1为产量
%肉价1,r2
1,c2为产量
为肉价2,k
2,c3为产量3,r1为K年后产量与肉价
为
%是否稳定
holdoff
c1=39;c2=28;c3=36;
r1=12;r2=17;k=16;
a1=[c11;c21];%系数矩阵
b1=[r1,r2]';%列向量
a2=[r11;r21];
b2=[c2,c3]';
a=a1\b1;
b=a2\b2;%
x0
(1)=c1;
forn=1:
30
y0(n)=a
(1)*x0(n)+a
(2);%a
(1)a
(2)
x0(n+1)=b
(1)*y0(n)+b
(2);
x(n)=x0(n);
y(n)=x0(n+1);
为矩阵元素的引用,下行类似
end
plot(x,y0,'-g',y,y0,'-b')
holdon
m=moviein(100);
forn=1:
k
forj=1:
30
t1=x0(n)+(j-1)*(x0(n+1)-x0(n))/30;
t2=x0(n)+j*(x0(n+1)-x0(n))/30;
ift2t=t1;
t1=t2;
t2=t;%这样做方便画图
else
end
t=t1:
0.01:
t2;
plot(t,y0(n),'.r')%划横线
t1=y0(n)+(j-1)*(y0(n+1)-y0(n))/30;
t2=y0(n)+j*(y0(n+1)-y0(n))/30;
ift2t=t1;
t1=t2;
t2=t;
else
end
t=t1:
0.01:
t2;
plot(x(n+1),t,'.r')%划竖线
end
m(:
n)=getframe;
end
movie(m,20)
4、实验结果:
ans=
Columns1through6
39.000028.000036.000030.181834.413231.3358
Columns7through12
33.573931.946233.130032.269132.895232.4398
Columns13through18
32.771032.530232.705332.577932.67063