当前位置:文档之家› MATLAB课程设计报告(绝对完整)

MATLAB课程设计报告(绝对完整)

MATLAB课程设计报告(绝对完整)
MATLAB课程设计报告(绝对完整)

课程设计任务书

学生姓名:董航专业班级:电信1006班

指导教师:阙大顺,李景松工作单位:信息工程学院

课程设计名称:Matlab应用课程设计

课程设计题目:Matlab运算与应用设计5

初始条件:

1.Matlab6.5以上版本软件;

2.课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应

用”、线性代数及相关书籍等;

3.先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

1.课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成;

2.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,

针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。具体设计要求包括:

①初步了解Matlab、熟悉Matlab界面、进行简单操作;

②MA TLAB的数值计算:创建矩阵矩阵运算、多项式运算、线性方程组、数值统计;

③基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形

标注、简单颜色设定等;

④使用文本编辑器编辑m文件,函数调用;

⑤能进行简单的信号处理Matlab编程;

⑥按要求参加课程设计实验演示和答辩等。

3.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:

①目录;

②与设计题目相关的理论分析、归纳和总结;

③与设计内容相关的原理分析、建模、推导、可行性分析;

④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结;

⑤课程设计的心得体会(至少500字);

⑥参考文献(不少于5篇);

⑦其它必要内容等。

时间安排:1.5周(分散进行)

参考文献:

[1](美)穆尔,高会生,刘童娜,李聪聪.MA TLAB实用教程(第二版) . 电子工业出版社,2010.

[2]王正林,刘明.精通MA TLAB(升级版) .电子工业出版社,2011.

[3]陈杰. MA TLAB宝典(第3版) . 电子工业出版社,2011.

[4]刘保柱,苏彦华,张宏林. MA TLAB 7.0从入门到精通(修订版) . 人民邮电出版社,2010. 指导教师签名:年月日

系主任(或责任教师)签名:年月日

目录

1 MATLAB的简介 (1)

2课程设计内容 (4)

2.1 (5)

2.2 (2)

2.3 (2)

2.4 (2)

2.5 (2)

2.6 (2)

2.7 (2)

2.8 (2)

2.9 (2)

2.10 (2)

3课程设计心得体会 (1)

4参考文献 (1)

1 Matlab 软件简介

1.1 MATLAB产生的历史背景

MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用 MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB 成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

MATLAB的应用:利用MATLAB可以进行以下各种工作

●数值计算

●数值和符号计算

●工程和科学绘图

●控制系统的设计与仿真

●数字图像处理

●数字信号处理

●通讯系统设计与仿真

●财务与金融工程

1.2 MATLAB的语言特点和开发环境

MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰

富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担。被称为第四代编程语言的MATLAB最大的特点就是简洁开放的程序代码和直观实用的开发环境。具体地说MATLAB主要有以下特点:

(1)库函数资源丰富

(2)语言精炼,代码灵活

(3)运算符多而灵活

(4)面向对象控制功能优良,使界面编程更方便、自由。

(5)程序设计自由

(6)图形功能强大

(7)程序的兼容性好

(8)源代码开放

(9)形形色色的工具箱

2.课程设计内容

2.1已知t=linspace(0,2*pi,6),求t的正弦和正弦的绝对值。

2.1.1理论分析

该函数linspace()为赋值向量函数,还要用到简单的正弦sin()

和绝对值abs()函数。

2.1.2程序代码

t = linspace(0,2*pi,6); %产生6维的从0到2*pi等分行向量

sin(t) %求t的正弦值

abs(sin(t)) %求sin(t)的的绝对值

2.1.3程序运行结果

ans =

0 0.9511 0.5878 -0.5878 -0.9511 -0.0000

ans =

0 0.9511 0.5878 0.5878 0.9511 0.0000

2.1.4总结

在matlab 中乘号不能不写,也不能写成‘×’。只能写成‘*’。

2.2 制函数x xe y -=

在10≤≤x 时的曲线。

2.2.1理论分析:

这是一个简单的函数,但要了解该函数用程序代码书写的正确和规范,以及了解绘制二维曲线的函数。

2.2.2程序代码

x = 0:0.01:1; %x 轴上以0.01的速度从0递增到1的数组 y = x.*exp(-x); %y 关于x 的表达式

plot(x,y) %以x 为横坐标y 为纵坐标画出二维曲线

2.2.3程序运行结果

2.2.4总结:

在matlab 中两数之间应该用‘*’符号,不能省略,而且注意如果是进行向量的运算得用‘.*’运算。

2.3 已知a=[1,3,0;2,0,1;4,6,5],a1=logical([1 0 1]),a2=logical([1 1 0]),b=a>1,求a(a1,a2)和a(b)。

2.3.1理论分析:

注意矩阵的赋值以及各种运算

2.3.2程序代码

a = [1,3,0;2,0,1;4,6,5]; %定义a的矩阵并赋值

a1 = logical([1 0 1]); %a1的逻辑值数组

a2 = logical([1 1 0]); %a2的逻辑值数组

b = a > 1; %a,b的逻辑表达式

a(a1,a2) %求矩阵a的1,3行和1,2列的子矩阵

a(b) %求a中大于1的数

2.3.3程序运行结果

ans =

1 3

4 6

ans =

2

4

3

6

5

2.3.4总结

在matlab中矩阵的形式各种各样,还有各种赋值形式,我们要了解矩阵的各种形式以及运算

2.4分析下面每条指令的功能并运行,观察执行结果。

(1)X=0:0.25:3;

Y=X.*exp(-X);

plot(X,Y),xlabel(‘x’), ylabel(‘y’),title(‘y=x*exp(-x)’);

(2)A=zeros(3,5)

A(:)=-4:5

L=abs(A)>4

islogical(L)

X=A(L)

(3)A=[1:5;6:10]

pow2(A)

(4)A=zeros(3,2)

A(:)=1:6

A=A*(1+i)

A1=A.’;

B1=A’;

(5)A=ones(2,3)

B=ones(2)

C=eye(4)

D=diag(C)

E=repmat(C,1,3)

2.4.1理论分析:

该大题是让我们练习编写代码,观察执行结果,根据结果去了解各个函数的功能及用法,所以我们必须熟练了解一些常用函数的用法。

2.4.1.2程序代码

X=0:0.25:3; %生成数组

Y=X.*exp(-X); %y1的表达式

plot(X,Y),xlabel('x'), ylabel('y'),title('y=x*exp(-x)'); %标注x,y轴及标题

2.4.1.3程序运行结果

2.4.2.2程序代码

A = zeros(2,5) %生成一个2×5的全0矩阵

A(:) = -4:5 %将A矩阵赋值

L = abs(A) > 4 %将A中绝对值与4比较后的逻辑值矩阵

islogical(L) %求L的逻辑值

X = A(L) %求出L中逻辑值为1的那个元素对应A的值

2.4.2.3程序运行结果

A =

-4 -2 0 2 4

-3 -1 1 3 5

L =

0 0 0 0 0

0 0 0 0 1

ans =

1

X =

2.4.

3.2程序代码

A = [1:5;6:10] %生成一个二维数组

pow2(A) %求该数组的每个元素的平方值2.4.3.3程序运行结果

A =

1 2 3 4 5

6 7 8 9 10

ans =

2 4 8 16 32 64 128 256 512 1024

2.4.4.2程序代码

A=zeros(3,2) %生成一个3行2列的全0 矩阵

A(:)=1:6 %将A从新赋值

A=A*(1+i) %将A中的每个元素进行运算

A1=A.' %求A的转置矩阵

B1=A' %求A的共轭转置矩阵

2.4.4.3程序运行结果

A =

0 0

0 0

0 0

A =

1 4

2 5

3 6

A =

1.0000 + 1.0000i 4.0000 + 4.0000i

2.0000 + 2.0000i 5.0000 + 5.0000i

3.0000 + 3.0000i 6.0000 + 6.0000i

A1 =

1.0000 + 1.0000i

2.0000 + 2.0000i

3.0000 + 3.0000i

4.0000 + 4.0000i

5.0000 + 5.0000i

6.0000 + 6.0000i

B1 =

1.0000 - 1.0000i

2.0000 - 2.0000i

3.0000 - 3.0000i

4.0000 - 4.0000i

5.0000 - 5.0000i

6.0000 - 6.0000i

2.4.5.2程序代码

A = ones(2,3) %生成一个2×3的全为1的矩阵

B = ones(2) %生成一个2×2的全为1的方阵

C = eye(4) %生成一个4阶单位矩阵

D = diag(C) %取C矩阵中的对角元素作为列向量

E = repmat(C,1,3) %将C矩阵复制为1×3块的矩阵

2.4.5.3程序运行结果

A =

1 1 1

1 1 1

B =

1 1

1 1

C =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

D =

1

1

1

1

E =

1 0 0 0 1 0 0 0 1 0 0 0

0 1 0 0 0 1 0 0 0 1 0 0

0 0 1 0 0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1 0 0 0 1

2.4.4总结:

在该程序编程题中,有很多函数,要注意他们的用法以及他们之间的联系,比如A (:) = -4 : 5,是给矩阵数组赋值,在之前zeros()是确定A 的矩阵形式,所以赋值是应与A 数组矩阵有相同多的元素个数,本来原题中是zeros(3,5),但运行时却有错误,是因为zeros (3,5)赋给A ,A 是3×5矩阵共有15个元素,而后来赋值时又只赋给 -4:5 只有10个元素所以就出错了;当改成zeros (2,5)就可以了。还有各种其他函数的功能和用法。

2.5计算101.0235-+=x x

y 在x=0.1与10处的值。

2.5.1理论分析:

该题是简单的二元方程带值求解问题,只需用matlab 编写出该方程的表达式,带值即可求解。

2.5.2程序代码

x = 0.1; %将x 初始化为0.1

y = 2*x^5+0.1*x^3-10; %y 关于x 的表达式

y %求当x=0.1时y 的值

x = 10; %将x 赋值为10

y = 2*x^5+0.1*x^3-10; %y 关于x 的表达式

y %求当x=10时y 的值

2.5.3程序运行结果

y =

-9.9999

y =

200090

2.5.4总结:

在写出表达式之前一定要定义出表达式中的变量

2.6求函数333131211n ++++

, n =100的值

2.6.1理论分析:

该题是一道用循环函数编写的数学题

2.6.2程序代码

s = 0; %为s 变量赋初值为0

for i = 1:100 %循环函数,从1到100

s = s+1/i^3; %s 的累加求和表达式

end

s %求s 的值

2.6.3程序运行结果

s =

1.2020

2.6.4总结:

在这个题目中应该注意s = s+1/i^3的通式的表达,这是一个累加表达式,但是还要注意等比数列的写法。

2.7求1500个元素的随机数向量A中大于0.5的元素个数。

2.7.1理论分析:

该题看起来很简单,其实涉及到了很多方面,产生1500个元素得用的随机函数,依次比较1500个数得用到循环函数,还要看是否大于0.5,所以得用到if 函数,再其次就是要用到累加表达式。

2.7.2程序代码

A = rand(1500); %随机函数产生1500个随机数向量赋给一维数组A

s = 0; %给s赋初值0

for i = 1:1500 %循环语句,从1到1500循环1500次

if A(i)>0.5 %判断数组A中1500是否大于0.5

s = s+1; %如果大于0.5,则将s的值加1,累计个数

end

end

s %求出s最后的累计值

2.7.3程序运行结果

s =

760

2.7.4总结

要注意随机函数的用法,以及要分析好函数的嵌套,那个rand()是随机函数所以每次产生的数都是不一样的,即每次运行的结果应该是不同的。应该巧妙运用到for函数与if函数的嵌套。

2.8用图形表示连续调制波形)9

t

y ,运行下面的程序,观

)

sin(

sin(t

察结果,并简单说明。

t1=(0:11)/11*pi;

y1=sin(t1).*sin(9*t1);

t2=(0:100)/100*pi;

y2=sin(t2).*sin(9*t2);

subplot(2,2,1),plot(t1,y1,'r.'),axis([0,pi,-1,1]),ti tle('子图 (1)')

subplot(2,2,2),plot(t2,y2,'r.'),axis([0,pi,-1,1]),ti tle('子图 (2)')

subplot(2,2,3),plot(t1,y1,t1,y1,'r.')

axis([0,pi,-1,1]),title('子图 (3)')

subplot(2,2,4),plot(t2,y2)

axis([0,pi,-1,1]),title('子图 (4)')

2.8.1理论分析:

这题是用图形表示连续调制函数y=sin(t)sin(9t)的波形,注意比较几个图得到不同。

2.8.2程序代码

t1 = (0:11)/11*pi; %生成一个0到1/π步距为1/(11*π)的数组

y1 = sin(t1).*sin(9*t1); %y1关于t1的数学表达式

t2 = (0:100)/100*pi; %生成一个0到1/π步距为1/(100*π)的数组

y2 = sin(t2).*sin(9*t2); %y2关于t2的数学表达式

subplot(2,2,1),plot(t1,y1,'r.'),axis([0,pi,-1,1]),title('子图(1)') %指定分成一个图到指定位置,以r的格式画出t1,y1点图形,x轴从0到π,y轴-1到1,标记为子图(1)

subplot(2,2,2),plot(t2,y2,'r.'),axis([0,pi,-1,1]),title('子图(2)') %指定分成一个图到指定位置,以r的格式画出t2,y2点图形,x轴从0到π,y轴-1到1,标记为子图(2)

subplot(2,2,3),plot(t1,y1,t1,y1,'r.') axis([0,pi,-1,1]),title('子图(3)') %指定分成一个图到指定位置,以r的格式画出t1,y1连线的折线图形,x轴从0到π,y轴-1到1,标记为子图(3)

subplot(2,2,4),plot(t2,y2)

axis([0,pi,-1,1]),title('子图(4)') %指定分成一个图到指定位置,以r的格式画出t2,y2默认的曲线图形,x轴从0到π,y轴-1到1,标记为子图(4)

2.8.4总结:

在这几个图中,子图(1)描写函数的能力最差,子图(3)也有较大的失真,因为数据太少。对于离散数据,Plot指令默认处理方法是:自动地把这些离散点用直线连接,使之成为连续曲线。Subplot是指定几号子图。Axis设置平面轴的范围、坐标分割线。

2.9已知方程组1231231

233x x 2x 9

-5x x +3x 5x x 4x 8-+=??+=??-+=?,用矩阵除法来解线性方程组。

2.9.1理论分析:

本题是运用矩阵法来求解线性方程组,在matlab 中有很简单实用的方法求解线性方程组

2.9.2程序代码

A = sym([3,-1,2;-5,1,3;1,-1,4]); %将方程组的各个元素的系数定义为符号数组

b = sym([9;5;8]); %将方程组等号后的值定义为符号列向量

X = A\b %解出方程组

2.9.4总结:

将各个方程组的各个元素的的系数赋给A ,用到方程组的符号解,矩阵计算是求解线性方程组最简便有效的方法。用sym()符号函数,注意b 要用sym (9;5;8),不能用sym (9,5,8)。

2.10已知-1y e cos(t)=,其中t 的范围是[0 10],计算y 的微分和积分并给出曲线图。

2.10.1理论分析:

这是一个求积分和微分的题,以及也涉及到画图函数。有各种不同的画图函数,注意选择方便的。

2.10.2程序代码以及结果:

syms t,y = exp(-1)*cos(t); %定义符号变量

df = diff(y,'t') %将符号t 视作变量求y 对t 的微分 jf = int(y,t) %将符号t 作为变量求y 对t 的积分

subplot(2,1,1),ezplot(df,[0,10]) %在分成后的指定地方绘制微分在0到10之间的曲线图

subplot(2,1,2),ezplot(jf,[0,10]) %在分成后的指定地方绘制积分在0到10之间的曲线图

2.10.3程序运行结果

2.10.4总结

要了解积分和微分函数的运用,该题用到了符号积分和符号微分,对ezplot ()画图函数的运用;

3心得体会

通过这次MATLAB的学习,我对MATLAB有了一个基础的认识,matlab是一个可以完成各种精确计算和数据处理的、可视化的、强大的计算工具。它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂数值计算的领域得到了广泛应用。MATLAB是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程的特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂程序(M文件)后再一起运行。

在这短短的一周内从开始的一头雾水,到自己看书学习,到同学讨论,再进行整个题目的理论分析和计算,参考课程上的代码,写出自己的代码。

我们也明白了学无止尽的道理,在我们所查的很多参考书中,很多知识是我们从没有接触过的,我们对它的了解还仅限于皮毛,对它的很多功能以及函数还不是很了解,所以在这个学习的过程中我们穿越在知识的海洋中,一点一点吸取着它的知识。在MATLAB编程中需要很多的参考书,要尽量多的熟悉matlab自带的函数及其作用,因为matlab的自带函数特别多,基本上能够满足一般的数据和矩阵的计算,所以基本上不用你自己编函数。这一点对程序非常有帮助,可以使程序简单,运行效率高,可以节省很多时间。本次课设中用了很多MATLAB自带的函数,使程序变得很简单。

把基本的知识看过之后,就需要找一个实际的程序来动手编一下,不要等所有的知识都学好之后再去编程,你要在编程的过程中学习,程序需要什么知识再去补充,编程是一点一点积累的,所以你要需做一些随手笔记什么的。

在编写程序代码时,需要什么函数,需要什么模块就应该去着重看那个知识点,不要一步登天,一步一步学,如果太急于把所有东西都学到,也是不好的,更是实现不了的。所以那时一天一天积累的,慢慢地学通这个软件。

总之,通过这次学习,我了解了一下这个软件总体的功能,以及通过自己编写一些代码也学到了一些用法和知识。更了解到了,我们还有好多东西去学,学无止尽。

4参考文献

[1] (美)穆尔,高会生,刘童娜,李聪聪. MATLAB实用教程(第二版)[M] . 北京:

电子工业出版社,2010.

[2] 王正林,刘明. 精通MATLAB(升级版) [M]. 北京:电子工业出版社,2011.

[3] 陈杰. MA TLAB宝典(第3版) [M]. 北京:电子工业出版社,2011.

[4] 刘保柱,苏彦华,张宏林. MA TLAB 7.0从入门到精通(修订版)[M] . 人民邮电

出版社,2010.

[5] 张德丰. MATLAB在电子信息工程中的应用[M].北京:电子工业出版社,2009.

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

matlab课程设计题目

课题一: 连续时间信号和系统时域分析及MATLAB实现 课题要求: 深入研究连续时间信号和系统时域分析的理论知识。利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB实现常用连续时间信号的时域波形(通过改变参数,分析其时域特性)。 1、单位阶跃信号, 2、单位冲激信号, 3、正弦信号, 4、实指数信号, 5、虚指数信号, 6、复指数信号。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘, 4、微分, 5、积分 三、用MATLAB实现信号的时域变换(参数变化,分析波形变化) 1、反转, 2、使移(超时,延时), 3、展缩, 4、倒相, 5、综合变化 四、用MATLAB实现信号简单的时域分解 1、信号的交直流分解, 2、信号的奇偶分解 五、用MATLAB实现连续时间系统的卷积积分的仿真波形 给出几个典型例子,对每个例子,要求画出对应波形。 六、用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形。 给出几个典型例子,四种调用格式。 七、利用MATLAB实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题二: 离散时间信号和系统时域分析及MATLAB实现。 课题要求: 深入研究离散时间信号和系统时域分析的理论知识。利用MATLAB强大的图

形处理功能、符号运算功能以及数值计算功能,实现离散时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB绘制常用信号的时域波形(通过改变参数分析其时域特性) 1、单位序列, 2、单位阶跃序列, 3、正弦序列, 4、离散时间实指数序列, 5、离散时间虚指数序列, 6、离散时间复指数序列。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘。 三、用MATLAB实现信号的时域变换(参数变化,分析波形的变化) 1、反转, 2、时移(超时,延时), 3、展缩, 4、倒相。 四、用MATLAB实现离散时间系统卷积和仿真波形 给出几个典型例子,对每个例子要求画出e(k),h(k),e(i),h(i),h(-i),Rzs(k)波形。 五、用MATLAB实现离散时间系统的单位响应,阶跃响应的仿真波形 给出几个典型例子,四中调用格式。 六、用MATLAB实现离散时间系统对实指数序列信号的零状态响应的仿真波形 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题三: 连续时间信号傅里叶级数分析及MATLAB实现。 课题要求: 深入研究连续时间信号傅里叶级数分析的理论知识,利用MATLAB强大的图形处理功能,符号运算功能以及数值计算功能,实现连续时间周期信号频域分析的仿真波形。 课题内容: 一、用MATLAB实现周期信号的傅里叶级数分解与综合 以周期矩形波信号为例,绘出包含不同谐波次数的合成波形,观察合成波形与原矩形 波形之间的关系及吉布斯现象。

MATLAB课程设计报告

华东交通大学MATLAB程序设计报告书 课题名称:基于MATLAB的粒子群优化算法的实现 姓名: 学号:20160280800014 专业:控制科学与工程 2016年 11月 20日

基于MATLAB的粒子群优化算法的实现 一、课程选题目的 本次课程设计的课题为《基于MATLAB的粒子群优化算法的实现》,主要为学会运用MATLAB对实际算法编程,加深对粒子群优化算法的理解,并为今后熟练使用MA TLAB进行系统的分析仿真和设计奠定基础。数值计算分析可以帮助更深入地理解理论知识,并为将来使用MA TLAB进行各领域数值分析分析和实际应用打下基础。 此次课程主要是为了进一步熟悉对MATLAB软件的使用,以及学会利用MA TLAB对数值运算这种实际问题进行处理,将理论应用于实际,加深对它的理解。 二、粒子群优化算法原理 优化是科学研究、工程技术和经济管理等领域的重要研究工具。它所研究的问题是讨论在众多的方案中寻找最优方案。例如,工程设计中怎样选择设计参数,使设计方案既满足设计要求又能降低成本;资源分配中,怎样分配有限资源,使分配方案既能满足各方面的基本要求,又能获得好的经济效益。在人类活动的各个领域中,诸如此类,不胜枚举。优化这一技术,正是为这些问题的解决,提供理论基础和求解方法,它是一门应用广泛、实用性很强的科学。近十余年来,粒子群优化算法作为群体智能算法的一个重要分支得到了广泛深入的研究,在路径规划等许多领域都有应用。 2.1 粒子群优化算法的起源 粒子群优化(PSO)算法是由Kennedy和Eberhart于1995年用计算机模拟鸟群觅食这一简单的社会行为时,受到启发,简化之后而提出的。 设想这样一个场景:一群鸟随机的分布在一个区域中,在这个区域里只有一块食物。所有的鸟都不知道食物在哪里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简单有效的方法就是追寻自己视野中目前离食物最近的鸟。如果把食物当作最优点,而把鸟离食物的距离当作函数的适应度,那么鸟寻觅食物的过程就可以当作一个函数寻优的过程。鱼群和鸟群的社会行为一直引起科学家的兴趣。他们以特殊的方式移动、同步,不会相互碰撞,整体行为看上去非常优美。生物学家CargiReynolds提出了一个非常有影响的鸟群聚集模型。在他的模拟模型boids中,每一个个体遵循:避免与邻域个体相冲撞、匹配邻域个体的速度、试图飞向感知到的鸟群中心这三条规则形成简单的非集中控制算法驱动鸟群的聚集,在一系列模拟实验中突现出了非常接近现实鸟群聚集行为的现象。该结果显示了在空中回旋的鸟组成轮廓清晰的群体,以及遇到障碍物时鸟群的分裂和再度汇合过程。由此受到启发,经过简化提出了粒子群优化算法。 2.2粒子群优化算法的原理 在粒子群优化算法中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值,每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。优化开始时先初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己。第一个极值就是整个种群目前找到的最优解。这个极值是全局极值。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。第二个极值是粒子本身所找到的最优解,称为个体极值。这是因为粒子仅仅通过跟踪全局极值或者局部极值来更新位置,不可能总是获得较好的解。这样在优化过程中,粒子在追随全局极值或局部极值的同时追随个体极值则圆满的解决了这个问题。这就是粒子群优化

MATLAB实验报告实验二

实验二 MATLAB矩阵及其运算 学号:3121003104 姓名:刘艳琳专业:电子信息工程1班日期:2014.9.20 一实验目的 1、掌握Matlab数据对象的特点以及数据的运算规则。 2、掌握Matlab中建立矩阵的方法以及矩阵处理的方法。 3、掌握Matlab分析的方法。 二实验环境 PC_Windows 7旗舰版、MATLAB 7.10 三实验内容 4、1. (1)新建一个.m文件,验证书本第15页例2-1; (2)用命令方式查看和保存代码中的所有变量;

(3)用命令方式删除所有变量; (4)用命令方式载入变量z。 2. 将x=[4/3 1.2345e-6]在以下格式符下输出:短格式、短格式e方式、长格式、长格式e方式、银行格式、十六进制格式、+格式。 短格式 短格式e 长格式

长格式e方式 银行格式 十六进制格式 3.计算下列表达式的值 (1)w=sqrt(2)*(1+0.34245*10^(-6)) (2)x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) a=3.5;b=5;c=-9.8; (3)y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) a=3.32;b=-7.9; (4)z=0.5*exp(2*t)*log(t+sqrt(1+t*t)) t=[2,1-3i;5,-0.65];

4. 已知A=[1 2 3 4 5 ;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20],对其进行如下操作:(1)输出A在[ 7, 10]范围内的全部元素; (2)取出A的第2,4行和第1,3,5列; (3)对矩阵A变换成向量B,B=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]; (4)删除A的第2,3,4行元素; (1) (2)

MATLAB课设报告

课程设计任务书 学生姓名:董航专业班级:电信1006班 指导教师:阙大顺,李景松工作单位:信息工程学院 课程设计名称:Matlab应用课程设计 课程设计题目:Matlab运算与应用设计5 初始条件: 1.Matlab6.5以上版本软件; 2.课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应 用”、线性代数及相关书籍等; 3.先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成; 2.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析, 针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。具体设计要求包括: ①初步了解Matlab、熟悉Matlab界面、进行简单操作; ②MATLAB的数值计算:创建矩阵矩阵运算、多项式运算、线性方程组、数值统计; ③基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形 标注、简单颜色设定等; ④使用文本编辑器编辑m文件,函数调用; ⑤能进行简单的信号处理Matlab编程; ⑥按要求参加课程设计实验演示和答辩等。 3.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括: ①目录; ②与设计题目相关的理论分析、归纳和总结; ③与设计内容相关的原理分析、建模、推导、可行性分析; ④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结; ⑤课程设计的心得体会(至少500字); ⑥参考文献(不少于5篇); ⑦其它必要内容等。 时间安排:1.5周(分散进行) 参考文献: [1](美)穆尔,高会生,刘童娜,李聪聪.MA TLAB实用教程(第二版) . 电子工业出版社,2010. [2]王正林,刘明.精通MATLAB(升级版) .电子工业出版社,2011. [3]陈杰. MA TLAB宝典(第3版) . 电子工业出版社,2011. [4]刘保柱,苏彦华,张宏林. MATLAB 7.0从入门到精通(修订版) . 人民邮电出版社,2010. 指导教师签名:年月日 系主任(或责任教师)签名:年月日

通信原理课程设计报告(基于Matlab)

2DPSK调制与解调系统的仿真 设计原理 (1) 2DPSK信号原理 1.1 2DPSK信号原理 2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。现假设用Φ表示本码元初相与前一码元初相之差,并规定:Φ=0表示0码,Φ=π表示1码。则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图如图2.1所示。 图1.1 2DPSK信号 在这种绝对移相方式中,发送端是采用某一个相位作为基准,所以在系统接收端也必须采用相同的基准相位。如果基准相位发生变化,则在接收端回复的信号将与发送的数字信息完全相反。所以在实际过程中一般不采用绝对移相方式,而采用相对移相方式。定义为本码元初相与前一码元初相之差,假设: →数字信息“0”; →数字信息“1”。 则数字信息序列与2DPSK信号的码元相位关系可举例表示如下: 数字信息: 1 0 1 1 0 1 1 1 0 1 DPSK信号相位:0

或 : 1.2 2DPSK 信号的调制原理 一般来说,2DPSK 信号有两种调试方法,即模拟调制法和键控法。2DPSK 信号的的模拟调制法框图如图1.2.1所示,其中码变换的过程为将输入的单极性不归零码转换为双极性不归零码。 图1.2.1 模拟调制法 2DPSK 信号的的键控调制法框图如图1.2.2所示,其中码变换的过程为将输入的基带信号差分,即变为它的相对码。选相开关作用为当输入为数字信息“0” 时接相位0,当输入数字信息为“1”时接pi 。 图1.2.2 键控法调制原理图 1.3 2DPSK 信号的解调原理 2DPSK 信号最常用的解调方法有两种,一种是极性比较和码变换法,另一种是差分相干解调法。 码变换 相乘 载波 s(t) e o (t)

Matlab课程设计报告

自控系统仿真软件课程设计报告 MATLAB 设计题目:牛顿摆球 姓名: 学号: 院系: 班级:1203 指导教师: 2014年12月20日

一.课程设计目的 1、熟悉课程设计的基本流程; 2、掌握MATLAB语法结构及调试方法; 3、熟悉MATLAB函数调用,熟练二维画图; 4、掌握MATLAB语言在控制方面的运用; 5、学会用MATLAB进行基本仿真; 6、掌握MATLAB编程技巧,提高编程水平。 二.系统分析 1.题目的描述: (1)牛顿摆球原理描述 五个质量相同的球体由吊绳固定,彼此紧密排列。当摆动最右侧的球并在回摆时碰撞紧密排列的另外四个球,最左边的球将被弹出,并仅有最左边的球被弹出。当然此过程也是可逆的,当摆动最左侧的球撞击其它球时,最右侧的球会被弹出。当最右侧的两个球同时摆动并撞击其他球时,最左侧的两个球会被弹出。同理相反方向同样可行,并适用于更多的球。 为了更接近现实,在这里我将考虑重力及空气阻力的影响,摆球将不会永无止境的运动下去,由于外界因素的影响,摆球运动一段时间后将回归静止状态。(2)通过MATLAB动画程序制作软件,实现下述过程 当运行程序时,把最右边的小球拉到一定的高度放下,让其碰撞其余四个小球,仅让最左边的小球被弹出,当最左边小球回摆碰撞其它球时,最右边小球又被弹出,如此循环。由于是非理想条件下,摆球的摆动幅度会随摆动次数的增加越来越小,直到静止。 时间停顿两秒,把右边两小球一起拉到一定高度放下,让其碰撞其余三个球,同样仅让左边两球被弹出,当球回摆再次碰撞时,最右边两球又被同时弹出,如此循环,因为外界因素的影响,最终五个球都会静止下来。 (3)整个实验看似简单,但要在MATLAB上完成这样一个动画过程,还是需要下点功夫,克服困难的。经过自己的努力,终于实现了整个过程,这也是一种不小的收获。 2.设计要求: (1)能够实现有阻尼摆动,即摆幅随摆动次数增加越来越小,直到静止。(2)能够让摆球弧线摆动。 三.系统设计 1.系统设计过程 (1)通过函数axis建立坐标系 (2)在坐标系范围内通过函数line画各个支架 (3)通过函数title添加标题“动量守恒实验”、函数text添加标注“牛顿摆球” (4)通过函数line画出五个球,并设定其初始位置,颜色,大小,线条的擦拭方式

MATLAB全实验报告

《数学实验》报告 实验名称 Matlab 基础知识 学院 专业班级 姓名 学号 2014年 6月

一、【实验目的】 1.认识熟悉Matlab这一软件,并在此基础上学会基本操作。 2.掌握Matlab基本操作和常用命令。 3.了解Matlab常用函数,运算符和表达式。 4.掌握Matlab工作方式和M文件的相关知识。 5.学会Matlab中矩阵和数组的运算。 二、【实验任务】 P16 第4题 编写函数文件,计算 1! n k k = ∑,并求出当k=20时表达式的值。P27第2题 矩阵A= 123 456 789 ?? ?? ?? ?? ?? ,B= 468 556 322 ?? ?? ?? ?? ?? ,计算A*B,A.*B,并比较两者的区别。 P27第3题 已知矩阵A= 52 91 ?? ?? ?? ,B= 12 92 ?? ?? ?? ,做简单的关系运算A>B,A==B,AB)。 P34 第1题 用 111 1 4357 π =-+-+……公式求π的近似值,直到某一项的绝对值小于-6 10为止。 三、【实验程序】 P16 第4题 function sum=jiecheng(n) sum=0; y=1; for k=1:n for i=1:k y=y*i; end sum=sum+y; end sum P27第2题 >>A=[1 2 3;4 5 6;7 8 9] >>B=[4 6 8;5 5 6;3 2 2] >>A*B

P27第3题 >> A=[5 2;9 1];B=[1 2;9 2]; >>A>B >>A==B >>A> (A==B)&(A> (A==B)&(A>B) P34 第1题 t=1; pi=0; n=1; s=1; while abs(t)>=1e-6 pi=pi+t; n=n+2; s=-s; t=s/n; end pi=4*pi; 四、【实验结果】 P16 第4题 P27第2题

matlab课程设计拟定题目

第一类:单位转换 1.长度单位换算的设计与实现 2.面积单位换算的设计与实现 3.体积单位换算的设计与实现 4.容积单位换算的设计与实现 5.质量单位换算的设计与实现 6.时间单位换算的设计与实现 7.温度单位换算的设计与实现 7.压强单位换算的设计与实现 8.角度单位换算的设计与实现 8.功率单位换算的设计与实现 第二类:曲线绘制 1.直线的自动绘制和相关计算 2.椭圆的自动绘制和相关计算 3.双曲线的自动绘制和相关计算 4.抛物线的自动绘制和相关计算 5.心脏线的自动绘制和相关计算 6.渐开线的自动绘制和相关计算 7.滚圆线的自动绘制和相关计算 8.三叶玫瑰线的自动绘制和相关计算9.四叶玫瑰线的自动绘制和相关计 10.阿基米德螺线的自动绘制和相关计算第三类:曲面绘制 1.球面的自动绘制和相关计算 2.椭球面的自动绘制和相关计算 3.单叶双曲面的自动绘制和相关计算 4.双叶双曲面的自动绘制和相关计算 5.抛物面的自动绘制和相关计算 6.双曲抛物面的自动绘制和相关计算 7.双曲柱面的自动绘制和相关计算 8.椭圆柱面的自动绘制和相关计算 9.抛物柱面的自动绘制和相关计算 10.圆锥面的自动绘制和相关计算 第四类:线性回归 1.男士身高体重相关计算经验公式 2.女士身高体重相关计算经验公式 3.男士胖瘦等级的确定 4.女士胖瘦等级的确定 5.男士身高脚长相关计算经验公式 6.女士身高脚长相关计算经验公式 7.父子身高相关性研究 8.母子身高相关性研究 9.父女身高相关性研究 10.母女身高相关性研究 第五类:学习成绩 1.期末总评自动计算的设计与实现 2.成绩等级自动评定的设计与实现 3.成绩分段自动统计的设计与实现 4.成绩分布折线自动绘制的设计与实现 5.成绩自动统计分析的设计与实现 6.试卷分布自动分析的设计与实现 7.试卷难度自动分析的设计与实现 8.考试成绩名次自动生成的设计与实现

matlab课程设计报告书

《计算机仿真及应用》课程设计报告书 学号:08057102,08057127 班级:自动化081 姓名陈婷,万嘉

目录 一、设计思想 二、设计步骤 三、调试过程 四、结果分析 五、心得体会 六、参考文献

选题一、 考虑如下图所示的电机拖动控制系统模型,该系统有双输入,给定输入)(t R 和负载输入)(t M 。 1、 编制MATLAB 程序推导出该系统的传递函数矩阵。 2、 若常系数增益为:C 1=Ka =Km =1,Kr =3,C2=0.8,Kb =1.5,时间常数T 1=5, T 2=0.5,绘制该系统的根轨迹、求出闭环零极点,分析系统的稳定性。若)(t R 和)(t M 分别为单位阶跃输入,绘制出该系统的阶跃响应图。(要求C 1,Ka ,Km ,Kr ,C2,Kb , T 1,T 2所有参数都是可调的) 一.设计思想 题目分析: 系统为双输入单输出系统,采用分开计算,再叠加。 要求参数均为可调,而matlb 中不能计算未赋值的函数,那么我们可以把参数设置为可输入变量,运行期间根据要求赋值。 设计思路: 使用append 命令连接系统框图。 选择‘参数=input('inputanumber:')’实现参数可调。 采用的方案: 将结构框图每条支路稍作简化,建立各条支路连接关系构造函数,运行得出相应的传递函数。 在得出传递函数的基础上,使用相应的指令求出系统闭环零极点、画出其根轨迹。 通过判断极点是否在左半平面来编程判断其系统是否稳定。 二.设计步骤 (1)将各模块的通路排序编号

(2)使用append命令实现各模块未连接的系统矩阵 (3)指定连接关系 (4)使用connect命令构造整个系统的模型 三.调试过程 出现问题分析及解决办法: 在调试过程出现很多平时不注意且不易寻找的问题,例如输入的逗号和分号在系统运行时不支持中文格式,这时需要将其全部换成英文格式,此类的程序错误需要细心。 在实现参数可调时初始是将其设为常量,再将其赋值进行系统运行,这样参数可调性差,后用‘参数=input('inputanumber:')’实现。 最后是在建立通路连接关系时需要细心。 四.结果分析 源代码: Syms C1 C2 Ka Kr Km Kb T1 T2 C1=input('inputanumber:') C2=input('inputanumber:') Ka=input('inputanumber:') Kr=input('inputanumber:') Km=input('inputanumber:') Kb=input('inputanumber:') T1=input('inputanumber:') T2=input('inputanumber:') G1=tf(C1,[0 1]); G2=tf(Ka*Kr,[0 1]); G3=tf(Km,[T1 1]); G4=tf(1,[T2 1]); G5=tf(1,[1 0]); G6=tf(-C2,1); G7=tf(-Kb,1); G8=tf(-1,1); Sys=append(G1,G2,G3,G4,G5,G6,G7,G8) Q=[1 0 0;2 1 6;3 2 7;4 3 8;5 4 0;6 5 0;7 4 0;8 0 0;]; INPUTS1=1; OUTPUTS=5; Ga=connect(Sys,Q,INPUTS1,OUTPUTS) INPUTS2=8; OUTPUTS=5; Gb=connect(Sys,Q,INPUTS2,OUTPUTS) rlocus(Ga)

matlab学习心得体会(精选3篇)

matlab学习心得体会(精选3篇) matlab学习心得体会一:matlab学习心得matlab中有丰富的图形处理能力,提供了绘制各种图形、图像数据的函数。他提供了一组绘制二维和三维曲线的函数,他们还可以对图形进行旋转、缩放等操作。matlab内部还包含丰富的数学函数和数据类型,使用方便且功能非常强大。 本学期通过对matlab的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了matlab的实用方法。通过理论课的讲解与实验课的操作,使我在短时间内学会使用matlab,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的二维三维图形,在实践中找到乐趣。 matlab是一个实用性很强,操作相对容易,比较完善的工具软件,使用起来比较方便,通过操作可以很快看到结果,能够清晰的感觉到成功与失败,虽然课程中也会出现一些小问题,但是很喜欢这门课程。 matlab学习心得体会二:matlab学习心得(463字) 学习matlab是听说它是一个功能强大的数学软件,但是正被微积分的计算缠身,听说有一个高级的计算器当然高兴,以后可以偷懒了,当然现在不能偷懒。听说关于自动化的计算特别复杂,如果有一种软件能帮忙解题,那是一种极大的解脱,有益于缩短研究时间。目前我只知道有三种数学软件,都是国外的,没有国内的,差距挺大的。matlab学起来挺顺手的,比c语言简单。但是深入学习的时候却困难重重,因为很多知识都没有学习,就算知道那些函数,也没有什么用处。老师布置的作业难度大,写一篇实验,大一什么都不会,写一篇这种论文谈何容易。最多也就会一些数值计算、符号计算、简单绘图,根本不会什么实验。 学习matlab体会最多的是这个软件的功能强大,好多数学题都被轻易的解出。但是有一点遗憾,不知是我不会用,还是它没个功能,已知空间的电荷分布,求空间的电场分布。其中电场分布是无法用函数表达式表示。我知道计算机肯定可以实现,但是这个软件能不能实现就不知道了,我看过许多资料,但是在这方面没有提到相关信息。 总之,这个软件功能强大,不知什么时候国内才有类似的软件。 matlab学习心得体会三:学习matlab的心得(817字) 这是我在学习的过程中的一些技巧,或许对你有帮助,可能字数不你能满足你的要求,但是绝对是精华。

matlab课程设计题目全

Matalab课后作业 学院:电气信息工程及其自动化 班级: 学号: 姓名: 完成日期: 2012年12月23日

1、 matlab 软件主要功能是什么?电气工程及其自动化专业本科生主要用到哪 些工具箱,各有什么功能? 答:(1)主要功能:工业研究与开发; 数学教学,特别是线性代数;数值分析和科学计算方面的教学与研究;电子学、控制理论和物理学等工程和科学学科方面的教学与研究; 经济学、化学和生物学等计算问题的所有其他领域中的教学与研究;符号计算功能;优化工具;数据分析和可视化功能;“活”笔记本功能;工具箱;非线性动态系统建模和仿真功能。 (2)常用工具箱: (a ) MATLAB 主工具箱:扩充matlab 的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能。 (b )符号数学工具箱:符号表达式、符号矩阵的创建;符号可变精度求解;因式分解、展开和简化;符号代数方程求解;符号微积分;符号微分方程。 (c ) SIMULINK 仿真工具箱: Simulink 是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink 提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。 (d )信号处理工具箱:数字和模拟滤波器设计、应用及仿真;谱分析和估计;FFT 、DCT 等 变换;参数化模型。 (e )控制系统工具箱:连续系统设计和离散系统设计;状态空间和传递函数以及模型转换;时域响应(脉冲响应、阶跃响应、斜坡响应);频域响应(Bode 图、Nyquist 图);根轨迹、极点配置。 2、设y=23e t 4-sin(43t+3 ),要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。 程序如下: clc clear x=0:0.01:1.5; y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3); y1=diff(y); subplot(2,1,1) plot(x,y) subplot(2,1,2) plot(x(1:150),y1) 曲线如下图所示:

matlab音频降噪课程设计报告

matlab音频降噪课程设计报告

燕山大学 医学软件课程设计说明书 题目:基于MATLAB巴特沃斯滤波器的音频去噪的GUI设计 学院(系):电气工程学院 年级专业: 13级生物医学工程 2 班 学号: 130103040041 学生姓名:魏鑫 指导教师:许全盛 1

院(系):电气工程学院基层教学单位:生物医学工程系 学号130103040041 学生 姓名 魏鑫 专业(班 级) 13级生 物医学 工程2 班 设计 题目 基于MATLAB音频去噪的GUI设计设 计 技术参数通带截止频率fp=2700;阻带截止频率fs=3000;采样频率FS=48000; 通带衰减不大于1dB;阻带衰减不小于10dB; 设计要求1.实现用MATLAB导入音频; 2.对音频进行频谱分析; 3.设计滤波器去噪并对含噪信号进行滤 2

波并进行功率谱分析; 4.设计能实现上述功能的GUI; 工作量1.完成音频录入及频谱分析相关程序的编写与调试; 2.设计滤波器去噪; 3.用MATLAB软件做GUI界面的设计; 工作计划11.21-11.24 MATLAB软件中GUIDE 工具箱的使用 11.25-11.29 各处理算法模块的编程实现 11.30-12.1 整体程序联调 12.2 撰写课程设计说明书,答辩 参考资料 1. 陈怀琛吴大正 MATLAB及在电子信息课程中的应用[M] 北京电子工业出版社 2006. 章节2.4; 2. 陈亚勇 MATLAB信号处理详解[M] 北京:人民邮电出版社 2000. 第十 3

章; 3.张康刘雅基于Matlab的巴特沃斯 数字低通滤波器的设计[J] 计算机与现代化 2007年 12期 98-100页 指导 教师签字许全盛 基层教学单 位主任签字 彭勇 目录 一、设计目的意义 (1) 1.1绪论 (1) 1.2设计目的 (1) 1.3意义 (1) 二、设计内容 (2) 2.1 设计原理 (2) 2.2 设计内容 (2) 三、设计过程及结果分析 (3) 3.1 设计步骤 (3) 4

通信工程学院matlab课程设计报告

南京工程学院 课程设计说明书(论文)题目模拟信号的数字化 课程名称Matlab通信仿真设计 院(系、部、中心)通信工程学院 专业电子信息工程(传感网) 班级 学生姓名X X X 学号 2 0 8 1 1 0 7 3 2 设计地点信息楼C 216 指导教师潘子宇

设计起止时间:2014年1月10日至2014年 1 月14日

目录 一、内容摘要 (1) 二、课程设计目的和要求 (2) 三、课程设计任务 (2) 四、课程设计软件介绍 (3) 五、课程设计原理 (4) 六、PCM编码及仿真参数设置 (9) 七、PCM解码及仿真参数设置 (11) 八、PCM串行传输模型及仿真参数设置 (13) 九、课程设计成品图 (14) 十、SCOPE端的最终波形图 (14) 十一、主要参考文献 (15)

十二、总结与体会 (15) 一、内容摘要 MATLAB软件是矩阵实验室的简称,是美国M a t h W or k s公司出品的商业数学软件, 可用于算法开发、数据分析以及数值计算的高级技术计算语言和交互式环境, 广泛用于数字信号分析,系统识别,时序分析与建模, 神经网络、动态仿真等方面有着广泛的应用。主要包括MATLAB和Simulink两大部分。Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。 Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。 Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。.

MATLAB实训小结

实训小结 为期一周的MATLAB实训在学习与忙碌中度过了,时间虽短,但我们却真真切切的学到了知识,在现实工作中可以运用的知识。 在第一节课,我们便了解到MATLAB是世界上最流行的、应用最广泛的工程计算和仿真软件,它将计算、可视化和编程等功能同时集于一个易于开发的环境。MATLAB主要应用于数学计算、系统建模与仿真、数学分析与可视化、科学与工程绘图和用户界面设计等。对MATLAB的系统结构和特点等,老师也向我们做出了大致的讲解,同时,我们知道了MATLAB程序的一些最基本的应用和运算,并能够进行一些简单的编程。就这样,实训的第一天大家都在期待和兴奋中度过。 接下来的时间,主要是以大家自学和练习为主,老师进行辅导和考察。在学习过程中,不懂的可以相互之间小声的讨论,也可向老师请教,但必须确保自己真正学到了知识,认真的看书并进行编程练习。一天的学习接近尾声时,就是老师考察大家一天的收获的时候了,老师总会出一些小题目让大家编出它的程序,虽然有的题目对我们来说还是有些难度的,但是在老师的指点下我们还是编出程序的,当我们看到自己编的程序运行正确时,总是会万分的兴奋,充满成就感。 就这样,仅仅一个星期的实训就结束了,虽然不能十分熟悉和运用MATLAB的所有程序,但是我们却打下了一定的基础,

在以后,当我们真正开始深入学习这门学问时,我们对它将不会再那么陌生,学起来也将轻松许多。这次实训为我们提供了一个很好的学习机会,唯一不足的就是时间有点短,我们不能在这段时间里学到更多的知识,因此,在这一周打下的基础上,我们需要用自己的努力去自学,以获取更多的知识。 知识是无穷无尽的,知识的获取需要一颗上进的心,老师将我们领进了门,下面的路就应该我们自己去走,即是充满荆棘,也要努力奋斗往前冲。

matlab车牌识别课程设计报告(附源代码)

Matlab程序设计任务书 分院(系)信息科学与工程专业 学生姓名学号 设计题目车牌识别系统设计 内容及要求: 车牌定位系统的目的在于正确获取整个图像中车牌的区域,并识别出车牌号。通过设计实现车牌识别系统,能够提高学生 分析问题和解决问题的能力,还能培养一定的科研能力。 1.牌照识别系统应包括车辆检测、图像采集、牌照识别等几 部分。 2.当车辆检测部分检测到车辆到达时,触发图像采集单元,采 集当前的视频图像。 3.牌照识别单元对图像进行处理,定位出牌照位置,再将牌 照中的字符分割出来进行识别,然后组成牌照号码输出。 进度安排: 19周:Matlab环境熟悉与基础知识学习 19周:课程设计选题与题目分析 20周:程序设计编程实现 20周:课程设计验收与答辩 指导教师(签字): 年月日学院院长(签字): 年月日 目录

一.课程设计目的 (3) 二.设计原理 (3) 三.详细设计步骤 (3) 四. 设计结果及分析 (18) 五. 总结 (19) 六. 设计体会 (20) 七. 参考文献 (21) 一、课程设计目的 车牌定位系统的目的在于正确获取整个图像中车牌的区域,并识别出车牌号。通过

设计实现车牌识别系统,能够提高学生分析问题和解决问题的能力,还能培养一定的科研能力。 二、设计原理: 牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。某些牌照识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。一个完整的牌照识别系统应包括车辆检测、图像采集、牌照识别等几部分。当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。牌照识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。 三、详细设计步骤: 1. 提出总体设计方案: 牌照号码、颜色识别 为了进行牌照识别,需要以下几个基本的步骤: a.牌照定位,定位图片中的牌照位置;

MATLAB课程设计实验体会

课程设计实验体会 学生姓名:李祥胜 学生学号:20120704 专业班级:光信息科学与技术 指导老师:miss Chen 学院:信息工程学院 题目: MATLAB学期实验总结

MATLAB概念及介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB集成环境主要包括五个部分:MATLAB语言、MATLAB工作环境、句柄图形、MATLAB数学函数库和数学建模、小波分析、MATLAB API(App lication Program Interface)。MATLAB语言是以数组为基本数据单位,包括控制流程语句、函数、数据结构、输人输出及面向对象等特点的高级语言。利用SIMULINK对系统进行仿真与分析,在进入虚拟实验环境后,不需要书写代码,只需使用鼠标拖动库中的功能模块并将它们连接起来,再按照实验要求修改各元器件的参数。通过虚拟实验环境建立实验仿真电路模型,可使一些枯燥的电路变得有趣味,复杂的波形变得形象生动,使得各种复杂的能量转换过程比较直观地呈现。 1.1、MATLAB语言特点及优势 1.1.1、语言特点 MATLAB被称为第四代计算机语言,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB 给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。 (1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。 (2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短,具体运算符见附表。 (3)MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。 (4)语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。 (5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

数字图像处理 课程设计报告 matlab

欢迎阅读数字图像处理 课程设计报告 姓名: 学号: 班级: .net 设计题目:图像处理 教师:赵哲老师 提交日期: 12月29日

一、设计内容: 主题:《图像处理》 详细说明:对图像进行处理(简单滤镜,模糊,锐化,高斯模糊等),对图像进行处理(上下对称,左右对称,单双色显示,亮暗程度调整等),对图像进行特效处理(反色,实色混合,色彩平衡,浮雕效果,素描效果,雾化效果等), 二、涉及知识内容: 1、二值化 2、各种滤波 3、算法等 三、设计流程图 插入图片 对图片进行处理 二值化处理 重复 输出两幅图 结束 四、实例分析及截图效果: 运行效果截图: 第一步:读取原图,并显示 close all;clear;clc; % 清楚工作窗口clc 清空变量clear 关闭打开的窗口close all I=imread('1.jpg'); % 插入图片1.jpg 赋给I imshow(I);% 输出图I I1=rgb2gray(I);%图片变灰度图 figure%新建窗口

subplot(321);% 3行2列第一幅图 imhist(I1);%输出图片 title('原图直方图');%图片名称 一,图像处理模糊 H=fspecial('motion',40); %% 滤波算子模糊程度40 motion运动 q=imfilter(I,H,'replicate');%imfilter实现线性空间滤波函数,I图经过H滤波处理,replicate反复复制 q1=rgb2gray(q); imhist(q1); title('模糊图直方图'); 二,图像处理锐化 H=fspecial('unsharp');%锐化滤波算子,unsharp不清晰的 qq=imfilter(I,H,'replicate'); qq1=rgb2gray(qq); imhist(qq1); title('锐化图直方图'); 三,图像处理浮雕(来源网络) %浮雕图 l=imread('1.jpg'); f0=rgb2gray(l);%变灰度图 f1=imnoise(f0,'speckle',0.01); %高斯噪声加入密度为0.01的高斯乘性噪声 imnoise噪声污染图像函数 speckle斑点 f1=im2double(f1);%把图像数据类型转换为双精度浮点类型 h3=1/9.*[1 1 1;1 1 1;1 1 1]; %采用h3对图像f2进行卷积滤波 f4=conv2(f1,h3,'same'); %进行sobel滤波 h2=fspecial('sobel'); g3=filter2(h2,f1,'same');%卷积和多项式相乘 same相同的 k=mat2gray(g3);% 实现图像矩阵的归一化操作 四,图像处理素描(来源网络) f=imread('1.jpg'); [VG,A,PPG] = colorgrad(f); ppg = im2uint8(PPG); ppgf = 255 - ppg; [M,N] = size(ppgf);T=200; ppgf1 = zeros(M,N); for ii = 1:M for jj = 1:N if ppgf(ii,jj)

相关主题
文本预览
相关文档 最新文档