Matlab实验报告

时间:2024.4.20

实验一   Matlab基础知识

一、  实验目的:

1.  熟悉启动和退出Matlab的方法。

2.  熟悉Matlab命令窗口的组成。

3.  掌握建立矩阵的方法。

4.  掌握Matlab各种表达式的书写规则以及常用函数的使用。

二、  实验内容:

1.  求[100,999]之间能被21整除的数的个数。(rem)

2.  建立一个字符串向量,删除其中的大写字母。(find)

3.  输入矩阵,并找出其中大于或等于5的元素。(find)

4.  不采用循环的形式求出和式的数值解。(sum)

三、  实验步骤:

l  求[100,199]之间能被21整除的数的个数。(rem)

1.  开始→程序→Matlab

2.  输入命令:

»m=100:999;

»p=rem(m,21);

»q=sum(p==0)

ans=43

l  建立一个字符串向量,删除其中的大写字母。(find)

1.  输入命令:

»k=input('’,’s’);

Eie48458DHUEI4778

»f=find(k>=’A’&k<=’Z’);

f=9 10 11 12 13

»k(f)=[ ]

K=eie484584778

l  输入矩阵,并找出其中大于或等于5的元素。(find)

1.  输入命令:

»h=[4 8 10;3 6 9; 5 7 3];

»[i,j]=find(h>=5)

i=3                        j=1

  1                          2

  2                          2

  3                          2

  1                          3

  2                          3

l  不采用循环的形式求出和式的数值解。(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。

三、  实验步骤:

l  根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n值以及对应的y值。

1.  打开Matlab,新建M文件

2.  输入命令:

y=0;i=1

        while  1

        f=1/(2i-1);

        y=y+f

        if y>5

        break;

        end

        i=i+1

        end

        n=i-1

        y=y-f

3.  保存,命名为eg1,并在命令窗口输入eg1:

»eg1

n=3094

y=4.9999

l  编程完成,对输入的函数的百分制成绩进行等绩转换,90~100为优,80~89为良,70~79为中,60~69为及格。

1.  打开Matlab,新建M文件

2.  输入命令:

C=input(‘请输入成绩’);

for i=1:length(c)

if c(i)>=90& c(i)<=100

grade(i)=’优’;

elseif c(i)>=80& c(i)<=89

grade(i)=’良’;

elseif c(i)>=70& c(i)<=79

grade(i)=’中’;

elseif c(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.  输入命令:

function  y=hs(x)

y=2*sqrt(x.^2+10)-5

3.  保存,命名为hs,并在命令窗口输入

»hs(12)

y=19.8193

ans=19.8193

l  编程求分段函数,并求输入x=[-5.0,-3.0,1.0,2.0,2.5,3.0,3.5]时的输出y。

1.  打开Matlab,新建M函数文件

2.  输入命令:

function  y=zhi(x)

for i=1:length(x)

if x(i)<0&x(i)~=-3

y(i)=x(i).^2+x(i)-6;

elseif x(i)>=0&x(i)<5&x(i)~=3&x(i)~2

y(i)=x(i).^2-x(i)-5*x(i)+6;

else y(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=Columns  1  through  6

14.0000    13.0000    2.0000    3.0000    -0.2500    7.0000    

Column  7

0.7500

ans=Columns  1  through  6

14.0000    13.0000    2.0000    3.0000    -0.2500    7.0000    

Column  7

0.7500


实验三   Matlab的基本绘图命令

一、  实验目的:

1.  熟悉二维、三维绘图函数的基本命令。

2.  熟悉图形修饰与控制的基本方法。

3.  了解特殊图形的绘制。

二、   实验内容:

1.  在同一图形窗口按不同纵坐标绘制200e-0.05x sinx和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] 。

三、  实验步骤:

l  在同一图形窗口按不同纵坐标绘制200e-0.05x sinx和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);

plot y y(x,y1,x,y2);

legend (‘y1’,’y2’);

2.  运行程序,结果如图所示:

l  将一个图形窗口分割成四个子窗口,并在四个窗口中分别以条形图,填充图,阶梯图,杆图绘制曲线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.  运行程序,结果如图所示:

l  已知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);

grid on;

2.  运行程序,结果如图所示:

l  已知: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.  求:

三、  实验步骤:

l  求多项式x4+8x3-10的根。

1.  打开Matlab,在命令窗口输入:

»p=[1,8,0,0,-10]

»r=root s(p)

2.  运行结果:

r=-8.0194

   1.0344

  -0.5075+0.9736i

  -0.5075-0.9736i

l  求有理式(3x2+6x+9)(x2+2x)的导数。

1.  打开Matlab,在命令窗口输入:

»a=[3,6,9]

»b=[1,2,0]

»w=conu(a,b)

2.  运行结果:

w=

3  12  21  18  0

3.  在命令窗口输入

»k=polyder(w)

4.  运行结果:

k=

12  3  6  42  18

l  定义函数myfun: y(1,2)=[200*sin(x)/x, x^2],绘制该函数在x=[-20,20]区间内的图形。

1.  打开Matlab,在命令窗口输入:

function  myfun=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,在命令窗口输入:

»syms x;

»m=1/cos(x);

»int (sin(x),x)

2.  运行结果如下:

ans=

log(1/cos(x))+log(sin(x)+1)

l  求:

1.  打开Matlab,在命令窗口输入:

»syms x y;

»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,在命令窗口输入:

»syms  x,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取出,在signal routing中取出,在continuous中取出,在sinks中取出

l  利用simulink解二阶微分方程  其中 u(t)为单位阶跃函数

1.  打开Matlab,启动simulink。

2.  新建Model文件,建立如下系统的仿真


3.  点击仿真按钮,然后双击“scope”,将会出现如下图形,单击保存。

Simulation→configuration  paramenters

→sturt time 0.0

  Stuk  time20.0

 Kelative  tolerance  1e-7


实验六 MATLAB信号工具箱

一、实验目的:

1、熟悉MATLAB信号处理工具箱。

2、掌握MATLAB中信号的产生函数及信号的基本运算。

二、实验内容:

1、产生一周期为0.05的三角波,宽度值各为0,0.5,1。

2、产生一个3GHZ的高斯单脉冲,采样频率为100GHZ。

3、已知两离散系列,n1=1:5;x1=[1 0.7 0.4 0.1 0];

n2=3:8;x2=[0.1 0.3 0.5 0.7 0.9 1]

三、实验步骤:

l  产生一周期为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.  运行该程序,结果如下图所示:

l  产生一个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.  点击保存,运行该程序,如图所示:

l  已知两离散系列,n1=1:5;x1=[1 0.7 0.4 0.1 0];n2=3:8;x2=[0.1 0.3 0.5 0.7 0.9 1]试编程实现两系列的相加与相乘。

1.  打开Matlab,新建M文件,编写如下程序:

n1=1:5;

x1=[1 0.7 0.4 0.1 o];

n2=3:8;

x2=[0.1 0.3 0.5 0.7 0.7 1];

n=1:8;

x10=[x1 zeros(1,8-length(n1))];

axis([1 8 0 1]);

x20=[zeros(1,8-length(n2)),x2];

axis([1 8 0 1]);

x=x10+x20;

y=x10.*x20;

subplot(4,1,1);

stem(n1,x1);

axis([1 8 0 1]);

subplot(4,1,2);

stem(n,x10);

axis([1 8 0 1]);

subplot(4,1,3);

stem(n2,x2);

axis([1 8 0 1]);

subplot(4,1,4);

stem(n,x20);

axis([1 8 0 1]);

figure(2)

subplot(2,1,1);

stem(n,x);

axis([1 8 0 1]);

subplot(2,1,2);

stem(n,y);

sxis([1 8 0 1]);

2.  点击保存,然后运行该程序,结果如图:

更多相关推荐:
matlab实验报告

MATLAB教程及实训班级学号姓名实验报告实验1熟悉matlab的开发环境及矩阵操作一实验的教学目标通过本次实验使学生熟悉MATLAB70的开发环境熟悉MATLAB工作界面的多个常用窗口包括命令窗口历史命令窗口...

matlab基本操作实验报告

实验一matlab基本操作一实验目的熟悉matlab的安装与启动熟悉matlab用户界面熟悉matlab功能建模元素熟悉matlab优化建模过程二实验设备与仪器1微机2matlab仿真软件三实验步骤1了解mat...

matlab实验报告

课程设计说明书(论文)题目带限数字基带传输系统的仿真课程名称Matlab通信仿真设计专业通信工程班级1203学生姓名徐xx学号2012xxxx20329指导教师文xx设计起止时间:20xx年12月18日至20x…

matlab音乐处理合成实验报告

MATLAB高级编程与工程应用语音合成综合实验姓名班级学号日期121简单的合成音乐1请根据东方红片断的简谱和十二平均律计算出该片断中各个乐音的频率在MATLAB中生成幅度为1抽样频率为8kHz的正弦信号表示这些...

东南大学几何与代数matlab实验报告

数学实验报告学号姓名吴雪松得分实验1求解线性方程组实验内容用MATLAB求解如下线性方程组Axb其中5100A00006510000006510000006510000006510000006510000006...

matlab实验报告

数学实验报告班级学号姓名实验序号1日期年月日实验名称特殊函数与图形问题背景描述绘图是数学中的一种重要手段借助图形可以使抽象的对象得到明白直观的体现如函数的性质等同时借助直观的图形使初学者更容易接受新知识激发学习...

Matlab实验报告一

数学与信息科学系实验报告实验名称程序设计所属课程数学软件与实验实验类型综合型实验专业信息与计算科学班级20xx级1班学号姓名指导教师1234567

matlab实验报告格式

数学实验报告实验序号:1日期:20XX年10月20日班级姓名学号实验名称:特殊函数与图形问题背景描述:绘图是数学中的一种重要手段,借助图形,可以使抽象的对象得到明白直观的体现,如函数的性质等。同时,借助直观的图…

matlab实验报告

重庆交通大学学生实验报告实验课程名称专业综合实验开课实验室交通运输工程实验教学中心学院交通运输年级二年级专业班交通运输1班学生姓名学号63120xx20开课时间20xx至20xx学年第2学期

matlab实验报告

南京工程学院课程设计说明书论文题目课程名称院系部中心专业班级学生姓名学号设计地点指导教师设计起止时间20xx年12月8日至20xx年12月12日一课程设计目的和要求1综合运用信号与线性系统通信原理以及matla...

Matlab实验报告

程序设计训练报告题目学生姓名学生学号专业班级指导老师20xx年6月22日一实验名称用matlab处理基本运算与画图二实验目的1掌握二维曲线绘图的基本方法与命令2掌握一个窗口多个图形的画法分割子窗口的画法三实验说...

matlab实验报告

MATLAB实践课程设计学生姓名学号专业班级通信工程指导教师郑晓明二一二年四月二十二日目录1设计目的32题目分析33总体设计34具体设计35小结和心得106参考书目111设计目的MATLAB语言是集数值计算图形...

matlab实验报告(13篇)