MATLAB实验报告第八次.docx
- 文档编号:4818272
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:94
- 大小:1.84MB
MATLAB实验报告第八次.docx
《MATLAB实验报告第八次.docx》由会员分享,可在线阅读,更多相关《MATLAB实验报告第八次.docx(94页珍藏版)》请在冰点文库上搜索。
MATLAB实验报告第八次
(此文档为word格式,下载后您可任意编辑修改!
)
MATLAB学实验报告
姓名:
李犁
学号:
指导老师:
易昆南
专业班级:
统计1203
1循环矩阵的性质…………………………3
2航线连接问题……………………………6
3生物群体模型…………………………….8
4学生成绩管理系统……………………….11
5调和级数问题……………………………14
63N+1问题……………………….….......17
7航程与起点……………………………...20
8ε-δ图的动画绘制……………….……27
9求π………………………………………32
10求函数f的一阶泰勒展式………………33
11蛛网模型的动画显示…………………..36
12音乐制作……..…………………………40
13用matlab做插值计算…………………49
14以g(x)为例作三种插值的比较………...53
15函数的拟合………………...60
16函数
的拟合…...62
172011年数模竞赛A题的作图…………64
18混沌现象……….……………………….77
19分形图案的绘制………………………..79
20古典概型与随机问题的模拟问题……..84
21抽取小球问题……...…………………...86
22追赶火车问题………………………….89
23Galton钉板模型………………………..91
学号
班级
统计1203
姓名
李犁
指导教师
易昆南
实验题目
循环矩阵的性质
评分
1、设计(实习)目的:
探究可逆循环矩阵的性质,运用matlab,初步了解程序的编写,再根据结果自行进行证明。
2、实验内容:
编写一个可逆循环矩阵程序,实现矩阵的随机性,在用随机产生的矩阵进行研究,从而研究任意一个可逆循环矩阵的性质,包括矩阵的和、积、逆的性质。
3.详细设计:
此程序只有一个主函数,储存在一个M文件中,实验时调用函数完成。
主函数(matrixrand)
functionoutput=matrixrand(n,a,b)
%UNTITLED2Summaryofthisfunctiongoesgoes));%r向量是一组随机数
N=zeros(n);%把矩阵N初始为一个n阶零矩阵
whilerank(N)~=n%判定是否可逆
N(1,:
)=r;%矩阵第一行是随机向量r
fori=2:
n%以下为循环矩阵的实现,从第二行到第n行
r=[r(1,n)r(1,1:
n-1)];
N(i,:
)=r;
end
end
output=N;%输出可逆循环矩阵
end
4:
实验结果:
在命令窗口输入
>>A=matrixrand(5,1,5)
输出
A=
12344
41234
44123
34412
23441
1.在命令窗口输入
>>B=inv(A)
输出
B=
-0.2412-0.0776-0.00480.24970.1406
0.1406-0.2412-0.0776-0.00480.2497
0.24970.1406-0.2412-0.0776-0.0048
-0.00480.24970.1406-0.2412-0.0776
-0.0776-0.00480.24970.1406-0.2412
2.在命令窗口输入
>>C=matrixrand(5,1,5);
>>D=matrixrand(5,1,5);
>>F=C+D
输出
F=
74442
27444
42744
44274
44427
3.在命令窗口输入
>>G=C*D
输出
G=
2420212217
1724202122
2217242021
2122172420
2021221724
5:
实验总结
从实验所得矩阵,再用观察的方法可以得知一个可逆循环矩阵的逆、方幂、两个可逆循环矩阵的和、积,都是一个循环矩阵
姓名:
李犁
学号
班级
统计1203
姓名
李犁
指导教师
易昆南
实验题目
航线连接问题
评分
1、设计(实习)目的:
探究航线链接问题,初步接触图论问题,探究矩阵中各个位置元素的意义,从而使实际问题简化处理。
2、实验内容:
编写一个航线问题程序,从而研究是否有航线能够使两次到达目的地,起点与终点可以是任意两个点。
3.详细设计:
此程序只有一个主函数成,存储在一个的M文件中,使用时进行调用
主函数(airline.A)
functionoutput=airline(A,a,b)
%UNTITLED2Summaryofthisfunctiongoesgoes=rank(A);%把矩阵A的秩定义给n
fori=1:
n%对i进行1到n的循环
ifA(a,i)==1&A(i,b)==1%当这两个元素都是1时,便可到达
output=i;%输出连接点
end
end
end
4:
实验结果:
在命令窗口输入
>>A=[01000001
00000100
10010000
00000010
00100000
00010000
00000001
10001000];
>>airline(A,2,4)
输出
ans=
6
在命令窗口输入
airline(A,5,1)
输出
ans=
3
在命令窗口输入
>>B=A*A
输出
B=
10001100
00010000
01000011
00000001
10010000
00000010
10001000
01100001
在命令窗口输入
>>C=A+A*A+A*A*A
输出
C=
12111102
00010110
21011112
10001011
11110011
00010011
11101002
31112101
5:
实验总结
1.有恰好两个航班有可能从C2到达C4(C2到C6到C4);
2.有恰好两个航班有可能从C5到达C1(C5到C3到C1);
3.在矩阵B(即A*A)中,(i,j)元素为1,说明有恰好两个航班有可能从Ci到达Cj;
4.在矩阵C(即A+A*A+A*A*A)中,(i,j)元素的数字表示有恰好一个或两个或三个航班有可能从Ci到达Cj的总数。
从结果中可以预见矩阵的数字可以表示航线的可行性,这对实际问题进行了简化。
姓名:
李犁
学号
班级
统计1203
姓名
李犁
指导教师
易昆南
实验题目
生物群体模型
评分
1、设计(实习)目的:
初次建立数学模型,来探究问题,学习怎样把matlab运用到数学建模中,来研究复杂的问题。
2、实验内容:
编写一个程序,从而研究狐狸和鸡能稳定发展的临界值以及能看到效果的观察次数。
3.详细设计:
此程序只有一个主函数,存储在一个的M文件中,实验时进行调用。
主函数(linjiezhi.)
functionoutput=linjiezhi()
%UNTITLEDSummaryofthisfunctiongoesgoesoutput=cishu()
%UNTITLED3Summaryofthisfunctiongoesgoes;
end
end
4:
实验结果:
在命令窗口输入
>>linjiezhi
输出
ans=
0.1600161.0000
在命令窗口输入
>>haha
输出
5:
实验总结
临界值为0.16能看到效果的观察次数为161次,但经检验,大概在四十次就可看出结果,这是因为精确值的原因,次数多了之后出现了小数点的问题。
也由此验证了(k=0.1),鸡的群体将无限发展,这使得狐狸的群体也无限发展;而捕杀率较大(k=0.18),鸡将被消灭,那么狐狸也将自行消灭。
证明:
Fi=0.6Fi-1+0.5Ci-1;
当数量稳定时,Fi=Fi-1;
得:
Fi-1=1.25Ci-1;
带入Ci=1.2Ci-1-kFi-1;
得:
Ci=(1.2-k*1.25)Ci-1;
当数量稳定时,同理Ci=Ci-1;
所以k=0.16,也即是实验结果。
姓名:
李犁
学号
班级
统计1203
姓名
李犁
指导教师
易昆南
实验题目
学生成绩管理系统
评分
2、设计(实习)目的:
运用matlab的各个流程控制来完成程序,如顺序结构,if语句,switch语句,for语句,输出语句等等,充分了解每个语句的作用以及用法;运用求最大值,最小值,平均值,标准差,排序的函数来求相应数据。
2、实验内容:
编写一个学生成绩管理系统,来帮助老师进行成绩的分类,排序等步骤。
3.详细设计:
此程序只有一个主函数,储存在一个M文件中,实验时调用函数完成。
主函数(studentmark)
functiony=studentmark()
%UNTITLEDSummaryofthisfunctiongoesgoesnstmin]=min(Markmat);%求最低分
ave=num2str(mean(Markmat));%求平均分
stdev=num2str(std(Markmat,0));%求标准差
rful=nfulsnum;
rexc=nexcsnum;
rgoo=ngoosnum;
rpas=npassnum;
rfai=nfaisnum;
passratio=1-rfai;
[sortnumsortid]=sort([s.Marks]);%进行排序
disp([blanks(6),'Name',blanks(16),'Marks',blanks(16),'Rank']);disp('');
fori=sortid%以下为输出
disp([s(i).Name,blanks(6),num2str(s(i).Marks),
blanks(6),s(i).Rank]);
end
disp(['average',blanks
(2),ave,blanks(4),'standarddeviation',
blanks
(2),stdev,blanks(4),'passratio',blanks
(2),
num2str(passratio)]);
disp('');
disp(['MaxMark',s(nstmax).Name,num2str(Max),blanks(4),
'MinMark',s(nstmin).Name,num2str(Min)]);
disp([blanks(8),'FullMark',blanks(9),'Excellent',blanks(6),
'Good',blanks(9),'Pass',blanks(12),'Fail']);
disp(['number',blanks
(2),num2str(nful),blanks(18),
num2str(nexc),blanks(18),num2str(ngoo),blanks(15),
num2str(npas),blanks(18),num2str(nfai)]);
disp(['ratio',blanks
(2),num2str(rful),blanks(8),
num2str(rexc),blanks(8),num2str(rgoo),blanks(8),
num2str(rpas),blanks(8),num2str(rfai)]);
end
4:
实验结果:
在命令窗口输入
>>studentmark
输出
NameMarksRank
'Tony''''36''''fail'
'Reter''''56''''fail'
'Jom''''65''''pass'
'Hebe''''65''''pass'
'Jack''''72''''pass'
'John''''79''''pass'
'Marry''''83''''good'
'Sheldon''''86''''good'
'Harry''''89''''good'
'Rose''''94''''excellent'
'Sweet''''96''''excellent'
'Tom''''100''''fullmarks'
average76.75standarddeviation18.7768passratio0.83333
'MaxMark''Tom''100''''MinMark''Tony''36'
FullMarkExcellentGoodPassFail
number12342
ratio0.0833330.166670.250.333330.16667
5:
实验总结
编程得到了一个成绩管理系统,能够表格式输出所求数据。
这个实验帮助我了解了更多的关于matlab的编程方法,合理应用各个语句来完成实验目的,来解答实际应用中的难题。
姓名:
李犁
学号
班级
统计1203
姓名
李犁
指导教师
易昆南
实验题目
调和级数问题
评分
3、设计(实习)目的:
探究调和级数和的极限以及其性质,说明其收敛性。
2、实验内容:
=,=-,做以及的图像,从而研究其性质,以及它们的极限
3.详细设计:
此程序只有一个主函数和两个分函数,储存在三个M文件中,实验时分别调用函数完成。
主函数一(daoshuhe.n)
functionoutput=daoshuhe(n)
%UNTITLEDSummaryofthisfunctiongoesgoes
s=s+1i;
end
output=s;
end
分函数一(Sn)
functionoutput=Sn
%UNTITLED3Summaryofthisfunctiongoesgoes.n)
functionoutput=Hn(n)
%UNTITLED2Summaryofthisfunctiongoesgoes%此函数为画出n为某一固定值时的函数图象
fork=1:
2*j
s(k)=daoshuhe(k);
end
t(j)=s(2*j)-s(j);
end
x=1:
n;
plot(x,t,'b');
end
4:
实验结果:
1.在命令窗口输入
>>Sn
输出
2.在命令窗口输入
>>Hn(100)
输出
5:
实验总结
与都存在极限,且随着n的增大,与都趋向平缓
姓名:
李犁
学号
班级
统计1203
姓名
李犁
指导教师
易昆南
实验题目
3N+1问题
评分
1、设计(实习)目的:
探究3N+1问题,用matlab的方法证明其正确性,并研究其规律
2、实验内容:
问题:
任给自然数n,如果n是偶数,则将n除2;如果n是奇数,则将n乘3加1。
重复上述过程得到一个无穷数列。
例如,
上述数列可递归地定义为如果n为偶
如果n为奇
编写程序,来研究是否在有限次数中其保持正确性。
3.详细设计:
此程序有两个主函数成,存储在两个的M文件中,使用时进行调用
主函数一(Syracuse.n)
functionoutput=Syracuse(n)
%UNTITLED3Summaryofthisfunctiongoesgoes
whilei~=1%当i不等于1时进行以下循环
ifmod(i,2)==0%判断i是否为偶数
i=i2;
else
i=3*i+1;
end
end
ifi==1%i到1时便跳出循环
s=s+1;%计算到达1的数字的个数
end
output=s;%输出结果来探究是否每一个数是否都会落于421的循环中
end
主函数二(Syracusetu.m)
functionoutput=Syracusetu(m)
%UNTITLED6Summaryofthisfunctiongoesgoes
(1)=m;%作出当m为某一固定值时的图像
i=2;
while
(1)
switch(mod(n(i-1),2))
case0
n(i)=n(i-1)2;
case1
n(i)=3*n(i-1)+1;
end
ifn(i)==1
break;
end
i=i+1;
end
j=1:
i;
plot(j,n(j),'k');
end
4:
实验结果:
在命令窗口输入
>>Syracuse(100000)
输出
ans=
100000
在命令窗口输入
Syracusetu(27)
输出
5:
实验总结
对1到100000中任意一个数n,从n开始产生的数列最后都落于421的循环中,因为只有这一种可能才能使结果为1,否则不会出现1。
从而推测对任意正整数n,从n开始产生的数列最后都落于421的循环中。
根据n=27的图像可以看出出列变化的幅度很大,但总会落到1上。
数列在落于421循环之前,其规律为总会出现5,16,32,8这些数字,若出现一次,则不会出现第二次。
姓名:
李犁
学号
班级
统计1203
姓名
李犁
指导教师
易昆南
实验题目
航程与起点
评分
1、设计(实习)目的:
初次建立数学模型,来探究问题,学习怎样把matlab运用到数学建模中,来研究复杂的问题。
2、实验内容:
编写一个程序,从而研究航程与起点问题,探索其1)航程与起点的关系;2)保持高度航程与起点关系;3)最大飞行高度与起点的关系;4)偶变换与奇变换的关系。
更进一步研究它们各自有何规律。
3.详细设计:
此程序有四个主函数,存储在四个的M文件中,实验时分别进行调用。
主函数(output=goesgoes
(1)=m;
i=2;
s=0;
while
(1)
switch(mod(n(i-1),2))
case0
n(i)=n(i-1)2;
s=s+1;
case1
n(i)=3*n(i-1)+1;
s=s+1;%没进行一次s便+1,到循环结束时便可求出航程
end
ifn(i)==1
break;
end
i=i+1;
end
if(m>200)&(s t=t+1; end plot(m,s,'.k'); output=keepheight %UNTITLEDSummaryofthisfunctiongoesgoes (1)=m; i=2; s=0; while (1) switch(mod(n(i-1),2)) case0 n(i)=n(i-1)2; case1 n(i)=3*n(i-1)+1; end ifn(i)>n (1) s=s+1;%求保持高度航程的数量 else break;%高度低于初始高度便跳出循环 end ifn(i)==1 break; end i=i+1; end plot(m,s,'.k'); axis([.9]) output=goesgoes (1)=m; i=2; s=n (1); while (1) switch(mod(n(i-1),2)) case0 n(i)=n(i-1)2; case1 n(i)=3*n(i-1)+1; end ifn(i)>s%用循环来求最高高度 s=n(i); end ifn(i)==1 break; end i=i+1; end plot(m,s,'.k'); axis([00]) output=jioubianhua %UNTITLED3Summaryofthisfunctiongoesgoes (1)=m; i=2; s=0; t=0; while (1) switch(mod(n(i-1),2)) case0 n(i)=n(i-1)2; case1 n(i)=3*n(i-1)+1; end ifn(i) s=s+1;%偶循环次数加一 else t=t+1;%奇循环次数加一 end ifn(i)==1 break; end i=i+1; end k=ts;%求奇循环与偶循环只之比 ifp p=k; end plot(m,k,'.k'); axis([.6]) holdall end disp(p); end 4: 实验结果: 在命令窗口输入 >>hangcheng 输出 2000 在命令窗口输入 >>keepheight 输出 在命令窗口输入 >>highest 输出 在命令窗口输入 >>jioubianhua 输出 0.5857 5: 实验总结 1)航程与起点的关系: 从实验结果得知当n适当大后,有f(n) 2)保持高度航程与起点关系: G(2^p-1)>2p(对N=2^p-1,a_2=3*2^p-2,a_4=3^2*2^p-1, a_2p=3^p-1.) 3)最大飞行高度与起点的关系。 4)偶变换与奇变换的关系: O(N)E(N)的上界是0.5857(N=5000时)且其极限 姓名: 李犁 学号 班级 统计1203 姓名 李犁 指导教师 易昆南 实验题目 ε-δ图的动画绘制 评分 1、设计(实习)目的: 初步认识用matlab制作动画的原理以及方法,并把其应用于数学分析中求极限
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 实验 报告 第八