Matlab 实验报告
- 格式:docx
- 大小:358.05 KB
- 文档页数:22
四、程序截图
1)
2)
3)
3)
5)
五、实验结果截图
1)
2)
3)
4)
[1]r=0.2
时
[2]r=0.5
r=0.8
时
[3]r=1.2
时
5)椭圆面积 p=4.8442
六、实验结语
通过这次实验,使我掌握了 matlab 这个强大的数学工具的 基本操作,也使我认识到,科学的进步可以使我们以更加准确的 工具来模拟难以实际实验的一些数学实验现象。 动态的变化过程, 形象地刻画了事物发展的渐变规律,混沌现象更使我体会到“量 变达到质变”的数学表现形式。 最后,谢谢老师的无私教导,指导我成功完成实验!
Matlab 实验报告
班级软件 12 学号 2111601027 姓名李旭锋 日期 2012有 5 个小实验,其要求如下: 1) 在 同 一 坐 标 系 下 画 出 函 数 y=sinx, y=cosx,
y=0.2e^(0.1*x)sin(0.5x) 和 y=0.2e^(0.1*x)cos(0.5x) 在 区 间 [0,2pi]的曲线图,并对该图进行修饰; 2) 每门课程考试阅卷完毕,任课教师都要对各班的考试成绩进 行统计,统计内容包括:全班人数,总得分,平均得分,不及格的 人数及 90 分(包括 90 分)以上的人数.请编制程序解决这一 问题,并自给一组数据验证程序的正确性; 3) 编制程序:要求任给一个自然数 n,写出 1 到 n 之间所有 能够表示成连续若干个自然数的和的数及其所有表示方法. (如 6=1+2+3; 15=1+2+3+4+5 或 15=4+5+6 或 15=7+8 等等) ; 4) Feigenbaum 曾对超越函数 y=rsin(������x) (r 为非负实数)进 行了分岔与混沌的研究, 试利用迭代格式 x (k+1) =rsin (������x (k ) ) ,做出相应的 Feigenbaum 图; 5) 计算椭圆
x=0.1; y=[]; r=3.2; hold on axis([0 100 0 1]) for i=1:100 x=r*sin(pi*x); y=[y,x]; plot(i,x,'k.','markersize',10) fprintf('x(%d)=%.10f\n',i,x);pause(0.005); end t=1:100; plot(t,y,'k-'); grid 5)程序 f=inline('sqrt(3.*sin(t).*sin(t)+1)'); t=(0:0.1:1)*pi; y=f(t); p=trapz(t,y); fprintf('p=%.5f\n',p)
2)程序 clear;clc; count1=0; count2=0; n=input('please inpue n='); a=input('please input the first mark:') if(a<60) count1=count1+1; else if(a>=90) count2=count2+1; end end t=a; for i=1:n-1 p=input('please input the next mark:'); t=t+p; if(p<60) count1=count1+1; else if(p>=90) count2=count2+1; end end
2)用 count1 表示不及格的人数,用 count2 表示 90 分以上(包 括 90 分)的人数,n 表示总人数,ave 则表示平均成绩。每输入 一个成绩,用 if 判断其所属范围,如小于 60 则 count1 自增 1, 如大于等于 90 则 count2 自增 1,与此同时,用 t 累计 n 个学生 的总成绩,然后 ave 的值则用 t 与 n 的比值确定。结果输出不及 格人数 count1 和不低于 90 分的人数 count2、 以及平均成绩 ave; 3)用 input 命令输入欲求解的数,用 floor 函数降低算法的复杂 度,以加快计算的速度。采用 for 循环实现对此数的和式因子求 解,其因子的和可用式 k*n+k*(k-1)/2 来表示,用 if 判断若因子 和等于所求数,则输出因子的连加形式,并且控制输出格式为每 行输出一种因子表示; 4)按比例系数的情况分三种情况试验: [1]取比例系数 r 为 0.1 到 0.3 之间的任意一个值, 按迭代 式 x(k+1)=rsin(������x(k) )迭代 100 步,产生迭代序列{x(k)}, =0,1,„„,100 并绘图; [2]再取比例系数为 0.4 到 0.8 之间的任意一个数值, 并运 行上述程序; [3]再取比例系数 r 为 0.9 到 3.2 之间的任意一个值运行上 述程序进行试验,其实呈现一种紊乱状态; 5) 首先进行数学建模。 由高等数学知识可知, 用代换 x=cox (t) , y=sin(t),0<=t<= ������ , 则 所 求 问 题 刻 画 为 求 一 定 积 分 f=2
������ 0
3 sin x ∗ sin (x) + 1的值。用 inline 建立内联函数,然后
用命令 trapz 进行积分。
三、程序设计
其程序列单如下: 1)程序 x=(0:0.1:2)*pi; y=sin(x); z=cos(x); s=0.2.*exp(0.1.*x).*sin(0.5.*x); t=0.2.*exp(0.1.*x).*cos(0.5.*x); plot(x,y,'b-',x,z,'g-','linewidth',3,'markersize',15) text(2.5,0.7,'sin(x)') text(1.6,-0.6,'cos(x)') hold on plot(x,s,'m-',x,t,'r-','linewidth',3,'markersize',15) text(4.0,0.3,'s(x)') text(4.0,-0.1,'t(x)') xlabel('Variable \it{x}') ylabel('Variable \it{y}') title('four figures are here,thank you') plot([0,2*pi],[0,0],'r-.') grid hold off
������ ^2 4
+y^2=1 的周长,使结果保留五位有效数字。
二、问题的分析
1) 使用命令 hole on 实现在同一窗口中多次绘制图形, 用 hold off 取消;使用 grid 命令对图形性窗口加坐标网格;使用 linewidth 和 markersize 命令实现图形中线宽和点型大小的设置;使用 title,xlable,ylable,text 等命令实现对图形的文字说明;
ave=t/n; end fprintf('n=%d count1=%d count2=%d
ave=%.4f',n,count1,count2,ave); 3)程序 Clear;clc; f=input('please input your number=') n=0; for i=1:f-1 n=n+1; for k=1:f/n if f==k*n+k*(k-1)/2 fprintf('num=%.0f',n) for i=1:k-1 fprintf('+%.0f',n+i) end fprintf ('\n') end end end 4)程序 clc;clf;