基于matlab的姓名仿真实验. 下载本文

(四)实验程序

1:function [y,y1,y2]=mwave(f1,m1,f2,m2)

% 根据给定的频率和幅值计算标准正弦函数y1、y2及其叠加y的波形。 if (f1<2)|(f1>20) error('f1超出范围!'),return,end if (f2<2)|(f2>20) error('f2超出范围!'),return,end if (m1<0.5)|(m1>2) error('m1超出范围!'),return,end if (m2<0.5)|(m2>2) error('m2超出范围!'),return,end t=0:2*pi/(500-1):2*pi; y1=m1*sin(2*pi*f1*t); y2=m2*sin(2*pi*f2*t); y=y1+y2; figure

subplot(311);plot(t,y1);title('y1波形'); subplot(312);plot(t,y2);title('y2波形'); subplot(313);plot(t,y);title('y=y1+y2波形');

2:a=1; s=0 for i=1:64 s=s+a; a=2*a; end

n=s/1.4/10^8

运行后得:n=1.3176e+011 3:for x=0:19 for y=0:33 for z=0:100

if (x+y+z==100)&(5*x+3*y+z/3==100) d=[x,y,z] end end end end

运行后得结果: d= 0 25 75 d= 4 18 78

5

d= 8 11 81 D= 12 4 84

实验小结:本次实验我们掌握了函数的编写规则,也在老师的领导下掌握函数的调用,同时也了解了Matlab程序设计实现一些工程算法问题,收获颇丰!

6

实验三 二维图形和三维图形的创建

(一)实验目的

1.掌握二维图形的绘制。 2.掌握图形的标注

3.了解三维曲线和曲面图形的绘制。

(二)实验内容

1.生成1×10维的随机数向量a,分别用红、黄、蓝、绿色绘出其连线图、脉冲图、阶梯图和条形图,并分别标出标题“连线图”、“脉冲图”、“阶梯图”、“条形图”。

x2.在同一个图形窗口中,绘制两条曲线y1?2x、y2??1/2?;并分别在靠近相应的曲线处标注其函数表达式。

3.编写一个mcircle(r)函数,调用该函数时,根据给定的半径r,以原点为圆心画一个如图所示的红色空心圆。(图例半径r=5)

4. (1)绘一个圆形螺旋线(形似弹簧)图。圆柱截面直径为10,高度为 5,每圈上升高度为1。

(2)利用(1)的结果,对程序做少许修改,得出结果。

(三)实验要求

1. 编写实现第二节实验内容中所使用的函数命令,并对二-2记录相应

的生成结果。

2. 书写实验报告时要结构合理,层次分明,在分析描述的时候,需要

注意语言的流畅。

(四)实验程序及仿真

1. a=rand(1,10)

subplot(221); plot(a,'r'); title('连线图'); subplot(222); stem(a,'y'); title('脉冲图'); subplot(223); stairs(a,'b'); title('阶梯图'); subplot(224); bar(a,'g'); title('条形图');

7

2.x=-5:0.1:5; y1=2.^x;

y2=(1/2).^x;

plot(x,y1,'r');text(2,10,'y1=2^x'); hold; plot(x,y2,'b');text(-3,10,'y2=(1/2)^x')

8