参考答案Matlab实验报告.docx
《参考答案Matlab实验报告.docx》由会员分享,可在线阅读,更多相关《参考答案Matlab实验报告.docx(21页珍藏版)》请在冰点文库上搜索。
参考答案Matlab实验报告
实验一Matlab基础知识
一、实验目的:
1.熟悉启动和退出Matlab的方法。
2.熟悉Matlab命令窗口的组成。
3.掌握建立矩阵的方法。
4.掌握Matlab各种表达式的书写规则以及常用函数的使用。
二、实验内容:
1.求[100,999]之间能被21整除的数的个数。
(rem)
2.建立一个字符串向量,删除其中的大写字母。
(find)
3.输入矩阵,并找出其中大于或等于5的元素。
(find)
4.不采用循环的形式求出和式
的数值解。
(sum)
三、实验步骤:
●求[100,199]之间能被21整除的数的个数。
(rem)
1.开始→程序→Matlab
2.输入命令:
»m=100:
999;
»p=rem(m,21);
»q=sum(p==0)
ans=43
●建立一个字符串向量,删除其中的大写字母。
(find)
1.输入命令:
»k=input('’,’s’);
Eie48458DHUEI4778
»f=find(k>=’A’&k<=’Z’);
f=910111213
»k(f)=[]
K=eie
●输入矩阵,并找出其中大于或等于5的元素。
(find)
1.输入命令:
»h=[4810;369;573];
»[i,j]=find(h>=5)
i=3j=1
12
22
32
13
23
●不采用循环的形式求出和式的数值解。
(sum)
1.输入命令:
»w=1:
63;
»q=sum(2.^w)
q=1.8447e+019
实验二Matlab基本程序
一、实验目的:
1.熟悉Matlab的环境与工作空间。
2.熟悉M文件与M函数的编写与应用。
3.熟悉Matlab的控制语句。
4.掌握if,switch,for等语句的使用。
二、实验内容:
1.根据y=1+1/3+1/5+……+1/(2n-1),编程求:
y<5时最大n值以及对应的y值。
2.编程完成,对输入的函数的百分制成绩进行等绩转换,90~100为优,80~89为良,70~79为中,60~69为及格。
3.
编写M函数文件表示函数,并分别求x=12和56时的函数值。
4.编程求分段函数
,并求输入x=[-5.0,-3.0,1.0,2.0,2.5,3.0,3.5]时的输出y。
三、实验步骤:
●根据y=1+1/3+1/5+……+1/(2n-1),编程求:
y<5时最大n值以及对应的y值。
1.打开Matlab,新建M文件
2.输入命令:
y=0;i=1
while1
f=1/(2i-1);
y=y+f
ify>5
break;
end
i=i+1
end
n=i-1
y=y-f
3.保存,命名为eg1,并在命令窗口输入eg1:
»eg1
n=3094
y=4.9999
●编程完成,对输入的函数的百分制成绩进行等绩转换,90~100为优,80~89为良,70~79为中,60~69为及格。
1.打开Matlab,新建M文件
2.输入命令:
C=input(‘请输入成绩’);
fori=1:
length(c)
ifc(i)>=90&c(i)<=100
grade(i)=’优’;
elseifc(i)>=80&c(i)<=89
grade(i)=’良’;
elseifc(i)>=70&c(i)<=79
grade(i)=’中’;
elseifc(i)>=60&c(i)<=69
grade(i)=’及’;
else
grade(i)=’不’;
end
end
grade
3.保存,命名为eg2,并在命令窗口输入
»eg2
请输入成绩[100,59,60,79,70,69,80,59,99]
grade=
优不及中中及良不优
●
编写M函数文件表示函数,并分别求x=12和56时的函数值。
1.打开Matlab,新建M函数文件
2.输入命令:
functiony=hs(x)
y=2*sqrt(x.^2+10)-5
3.保存,命名为hs,并在命令窗口输入
»hs(12)
y=19.8193
ans=19.8193
●编程求分段函数
,并求输入x=[-5.0,-3.0,1.0,2.0,2.5,3.0,3.5]时的输出y。
1.打开Matlab,新建M函数文件
2.输入命令:
functiony=zhi(x)
fori=1:
length(x)
ifx(i)<0&x(i)~=-3
y(i)=x(i).^2+x(i)-6;
elseifx(i)>=0&x(i)<5&x(i)~=3&x(i)~2
y(i)=x(i).^2-x(i)-5*x(i)+6;
elsey(i)=x(i).^2-x(i)+1;
end
end
y
3.保存,保存名为zhi,并在命令窗口输入
»x=[-5,-3,1,2,2.5,3,3.5];
»zhi(x)
y=Columns1through6
14.000013.00002.00003.0000-0.25007.0000
Column7
0.7500
ans=Columns1through6
14.000013.00002.00003.0000-0.25007.0000
Column7
0.7500
实验三Matlab的基本绘图命令
一、实验目的:
1.熟悉二维、三维绘图函数的基本命令。
2.熟悉图形修饰与控制的基本方法。
3.了解特殊图形的绘制。
二、实验内容:
1.在同一图形窗口按不同纵坐标绘制200e-0.05xsinx和0.8e-0.5xsin(10x)曲线,要求x的取值范围为[0,20],并加图例注解。
2.将一个图形窗口分割成四个子窗口,并在四个窗口中分别以条形图,填充图,阶梯图,杆图绘制曲线y=2e-0.5x。
3.已知t取值范围(0,20π),步长成π/100,x=sint,y=cost,z=tsintcost,绘制三维曲线。
4.已知:
t=-3:
0.125:
3,x=sin2t,y=cos2t,z=x2+2y2,绘制该函数的四种三维图,坐标轴范围[-1,1,-1,1,0,2]。
三、实验步骤:
●在同一图形窗口按不同纵坐标绘制200e-0.05xsinx和0.8e-0.5xsin(10x)曲线,要求x的取值范围为[0,20],并加图例注解。
1.打开Matlab文件编辑器,编写程序如下:
x=0:
0.01;20;
y1=200.*exp(-0.05x).*sin(x);
y2=(0.8).*exp(-0.5x).*sin(10x);
plotyy(x,y1,x,y2);
legend(‘y1’,’y2’);
2.运行程序,结果如图所示:
●将一个图形窗口分割成四个子窗口,并在四个窗口中分别以条形图,填充图,阶梯图,杆图绘制曲线y=2e-0.5x。
1.打开Matlab文件编辑器,编写程序如下:
x=0:
1:
10;
y=2.*exp(-0.5*x);
subplot(2,2,1);
bar(x,y,’b’);
xlabel(‘x’);
ylabel(‘y’);
subplot(2,2,2);
fill(x,y,’y’);
xlabel(‘x’);
ylabel(‘y’);
subplot(2,2,3)
stairs(x,y,’m’);
xlabel(‘x’);
ylabel(‘y’);
subplot(2,2,4);
stem(x,y,’c’);
xlabel(‘x’);
ylabel(‘y’);
2.运行程序,结果如图所示:
●已知t取值范围(0,20π),步长成π/100,x=sint,y=cost,z=tsintcost,绘制三维曲线。
1.打开Matlab文件编辑器,程序如下:
t=0:
pi/100:
20*pi;
x=sin(t);
y=cos(t);
z=t.*sin(t).*cos(t);
plot(x,y,z);
gridon;
2.运行程序,结果如图所示:
●已知:
t=-3:
0.125:
3,x=sin2t,y=cos2t,z=x2+2y2,绘制该函数的四种三维图,坐标轴范围[-1,1,-1,1,0,2]。
1.打开Matlab文件编辑器,编写程序如下:
t=-3:
0.125:
3;
x=sin(2*t);
y=cos(2*t);
[x,y]=meshgrid(x,y);
z=x.^2+2*(y.^2);
mesh(x,y,z);
axis([-1,1,-1,1,0,3]);
figure
Mesh(x,y,z);
axis([-1,1,-1,1,0,3]);
figure
surf(x,y,z);
axis([-1,1,-1,1,0,3]);
figure
surf(x,y,z);
axis([-1,1,-1,1,0,3]);
2.运行程序,结果如图所示:
实验四MATLAB数值与符号计算
一、实验目的:
1.掌握多项式建立表示的方法,及基本多项式运算指令
2.掌握函数绘图指令及方法
3.掌握求数值导数、数值积分、代数方程数值求争解的方法。
4.掌握定义符号对象,求符号函数极限、导数和积分方法。
二、实验内容:
1.求多项式x4+8x3-10的根。
2.求有理式(3x2+6x+9)(x2+2x)的导数。
3.定义函数myfun:
y(1,2)=[200*sin(x)/x,x^2],绘制该函数在x=[-20,20]区间内的图形。
4.
计算:
,其中f(x)=sin(x),f(x)=1/cos(x)。
5.求:
三、实验步骤:
●求多项式x4+8x3-10的根。
1.打开Matlab,在命令窗口输入:
»p=[1,8,0,0,-10]
»r=roots(p)
2.运行结果:
r=-8.0194
1.0344
-0.5075+0.9736i
-0.5075-0.9736i
●求有理式(3x2+6x+9)(x2+2x)的导数。
1.打开Matlab,在命令窗口输入:
»a=[3,6,9]
»b=[1,2,0]
»w=conu(a,b)
2.运行结果:
w=
31221180
3.在命令窗口输入
»k=polyder(w)
4.运行结果:
k=
12364218
●定义函数myfun:
y(1,2)=[200*sin(x)/x,x^2],绘制该函数在x=[-20,20]区间内的图形。
1.打开Matlab,在命令窗口输入:
functionmyfun=f(x);
myfun
(1)=200.*sin(x)/x;
myfun
(2)=x.^2;
end
2.保存函数文件
3.在命令窗口输入:
»plot(‘myfun’)[-20,20]
4.运行结果如下:
●
计算:
,其中f(x)=sin(x),f(x)=1/cos(x)。
1.打开Matlab,在命令窗口输入:
»symsx;
»m=1/cos(x);
»int(sin(x),x)
2.运行结果如下:
ans=
log(1/cos(x))+log(sin(x)+1)
●求:
1.打开Matlab,在命令窗口输入:
»symsxy;
»n=log(x+exp(y))/sqrt(x^2+y^2);
»v=limit((limit(n,x,1)),y,0)
2.运行结果如下:
v=log
(2)
●
计算I=,其中D为直线y=x2所围部分。
1.打开Matlab,在命令窗口输入:
»symsx,y;
»f=(1/2)*(2-x-y);
»int((int(f,y,x^2,2-x)),x-2,1)
2.运行结果如下:
ans=
81/40
实验五simulink仿真
一、实验目的:
1.熟悉simulink仿真环境
2.能够利用simulink建立仿真框图,完成简单系统的仿真。
二、实验内容:
1.应用simulink实现下列系统的仿真,并试试改变信号源后的结果。
2.利用simulink解二阶微分方程
其中u(t)为单位阶跃函数
三、实验步骤:
1.打开Matlab,启动simulink。
2.新建Model文件:
在simulink库中,sources取出
,
,
,在signalrouting中取出
,在continuous中取出
,在sinks中取出
,
,
。
●利用simulink解二阶微分方程
其中u(t)为单位阶跃函数
1.打开Matlab,启动simulink。
2.新建Model文件,建立如下系统的仿真
3.
点击仿真按钮,然后双击“scope”,将会出现如下图形,单击保存。
Simulation→configurationparamenters
→starttime0.0
Stoptime20.0
Kelativetolerance1e-7
实验六MATLAB信号工具箱
一、实验目的:
1、熟悉MATLAB信号处理工具箱。
2、掌握MATLAB中信号的产生函数及信号的基本运算。
二、实验内容:
1、产生一周期为0.05的三角波,宽度值各为0,0.5,1。
2、产生一个3GHZ的高斯单脉冲,采样频率为100GHZ。
3、已知两离散系列,n1=1:
5;x1=[10.70.40.10];
n2=3:
8;x2=[0.10.30.50.70.91]
三、实验步骤:
●产生一周期为0.05的三角波,宽度值各为0,0.5,1。
1.打开Matlab,新建M文件,编写如下程序:
t=0:
0.0001:
0.1;
m=sawtooth(2*pi*20*t,0);
p=sawtooth(2*pi*20*t,0.5);
m=sawtooth(2*pi*20*t,1);
subplot(3,1,1);
plot(t,m);
xlabel(‘t’);
ylabel(‘m’);
subplot(3,1,2);
plot(t,p);
axis([0,0.2,-1,1]);
xlabel(‘t’);
ylabel(‘p’);
subplot(3,1,3);
plot(t,n);
xlabel(‘t’);
ylabel(‘n’);
2.运行该程序,结果如下图所示:
●产生一个3GHZ的高斯单脉冲,采样频率为100GHZ。
1.打开Matlab,新建M文件,编写程序如下:
a=3eq;
b=100eq;
tc=gmonopuls('cutoff’,a);
t=-3*tc:
1/b:
3*tc;
y=gmonoplus(t,a);
plot(t,y);
2.点击保存,运行该程序,如图所示:
●已知两离散系列,n1=1:
5;x1=[10.70.40.10];n2=3:
8;x2=[0.10.30.50.70.91]试编程实现两系列的相加与相乘。
1.打开Matlab,新建M文件,编写如下程序:
n1=1:
5;
x1=[10.70.40.1o];
n2=3:
8;
x2=[0.10.30.50.70.71];
n=1:
8;
x10=[x1zeros(1,8-length(n1))];
axis([1801]);
x20=[zeros(1,8-length(n2)),x2];
axis([1801]);
x=x10+x20;
y=x10.*x20;
subplot(4,1,1);
stem(n1,x1);
axis([1801]);
subplot(4,1,2);
stem(n,x10);
axis([1801]);
subplot(4,1,3);
stem(n2,x2);
axis([1801]);
subplot(4,1,4);
stem(n,x20);
axis([1801]);
figure
(2)
subplot(2,1,1);
stem(n,x);
axis([1801]);
subplot(2,1,2);
stem(n,y);
sxis([1801]);
2.点击保存,然后运行该程序,结果如图: