当前位置:文档之家› 内点法matlab仿真doc资料

内点法matlab仿真doc资料

内点法matlab仿真doc资料
内点法matlab仿真doc资料

编程方式实现:

1.惩罚函数

function f=fun(x,r)

f=x(1,1)^2+x(2,1)^2-r*log(x(1,1)-1);

2.步长的函数

function f=fh(x0,h,s,r)

%h为步长

%s为方向

%r为惩罚因子

x1=x0+h*s;

f=fun(x1,r);

3. 步长寻优函数

function h=fsearchh(x0,r,s)

%利用进退法确定高低高区间,利用黄金分割法进行求解h1=0;%步长的初始点

st=0.001; %步长的步长

h2=h1+st;

f1=fh(x0,h1,s,r);

f2=fh(x0,h2,s,r);

if f1>f2

h3=h2+st;

f3=fh(x0,h3,s,r);

while f2>f3

h1=h2;

h2=h3;

h3=h3+st;

f2=f3;

f3=fh(x0,h3,s,r);

end

else

st=-st;

v=h1;

h1=h2;

h2=v;

v=f1;

f1=f2;

f2=v;

h3=h2+st;

f3=fh(x0,h3,s,r);

while f2>f3

h1=h2;

h2=h3;

h3=h3+st;

f2=f3;

f3=fh(x0,h3,s,r);

end

end

%得到高低高的区间

a=min(h1,h3);

b=max(h1,h3);

%利用黄金分割点法进行求解

h1=1+0.382*(b-a);

h2=1+0.618*(b-a);

f1=fh(x0,h1,s,r);

f2=fh(x0,h2,s,r);

while abs(a-b)>0.0001

if f1>f2

a=h1;

h1=h2;

f1=f2;

h2=a+0.618*(b-a);

f2=fh(x0,h2,s,r); else

b=h2;

h2=h1;

f2=f1;

h1=a+0.382*(b-a);

f1=fh(x0,h1,s,r);

end

end

h=0.5*(a+b);

4. 迭代点的寻优函数

function f=fsearchx(x0,r,epson)

x00=x0;

m=length(x0);

s=zeros(m,1);

for i=1:m

s(i)=1;

h=fsearchh(x0,r,s);

x1=x0+h*s;

s(i)=0;

x0=x1;

end

while norm(x1-x00)>epson

x00=x1;

for i=1:m

s(i)=1;

h=fsearchh(x0,r,s);

x1=x0+h*s;

s(i)=0;

x0=x1;

end

end

f=x1;

5. 主程序

clear

clc

x0=[2;2]; %给定初始点

r=1;

c=0.1;

epson=0.001;

x1=fsearchx(x0,0.1,epson);

while norm(x0-x1)>epson

x0=x1;

r=r*c;

x1=fsearchx(x0,r,epson) ;

end

disp '函数的最优解为'

x1

运行结果:

函数的最优解为

x1 =

1.0475

-0.0005

时域有限差分法的Matlab仿真

时域有限差分法的Matlab仿真 关键词: Matlab 矩形波导时域有限差分法 摘要:介绍了时域有限差分法的基本原理,并利用Matlab仿真,对矩形波导谐振腔中的电磁场作了模拟和分析。 关键词:时域有限差分法;Matlab;矩形波导;谐振腔 目前,电磁场的时域计算方法越来越引人注目。时域有限差分(Finite Difference Time Domain,FDTD)法[1]作为一种主要的电磁场时域计算方法,最早是在1966年由K. S. Yee提出的。这种方法通过将Maxwell旋度方程转化为有限差分式而直接在时域求解,通过建立时间离散的递进序列,在相互交织的网格空间中交替计算电场和磁场。经过三十多年的发展,这种方法已经广泛应用到各种电磁问题的分析之中。 Matlab作为一种工程仿真工具得到了广泛应用[2]。用于时域有限差分法,可以简化编程,使研究者的研究重心放在FDTD法本身上,而不必在编程上花费过多的时间。 下面将采用FDTD法,利用Matlab仿真来分析矩形波导谐振腔的电磁场,说明了将二者结合起来的优越性。 1FDTD法基本原理 时域有限差分法的主要思想是把Maxwell方程在空间、时间上离散化,用差分方程代替一阶偏微分方程,求解差分方程组,从而得出各网格单元的场值。FDTD 空间网格单元上电场和磁场各分量的分布如图1所示。 电场和磁场被交叉放置,电场分量位于网格单元每条棱的中心,磁场分量位于网格单元每个面的中心,每个磁场(电场)分量都有4个电场(磁场)分量环绕。这样不仅保证了介质分界面上切向场分量的连续性条件得到自然满足,而且

还允许旋度方程在空间上进行中心差分运算,同时也满足了法拉第电磁感应定律和安培环路积分定律,也可以很恰当地模拟电磁波的实际传播过程。 1.1Maxwell方程的差分形式 旋度方程为: 将其标量化,并将问题空间沿3个轴向分成若干网格单元,用Δx,Δy和Δz 分别表示每个网格单元沿3个轴向的长度,用Δt表示时间步长。网格单元顶点的坐标(x,y,z)可记为: 其中:i,j,k和n为整数。 同时利用二阶精度的中心有限差分式来表示函数对空间和时间的偏导数,即可得到如下FDTD基本差分式: 由于方程式里出现了半个网格和半个时间步,为了便于编程,将上面的差分式改写成如下形式:

matlab实验2MATLAB基础知识

实验2 MATLAB基础知识 一、实验目的 1.熟悉MATLAB的数据类型 2.熟悉MATLAB的基本矩阵操作 3.熟悉MATLAB的运算符 4.熟悉MATLAB的字符串处理 二、实验内容 1.创建结构体DataTypes,属性包含MATLAB支持的所有数据类型,并通过赋值构 造结构体二维数组。 DataTypes.char=char([65]); DataTypes.string='hello'; DataTypes.int=100; DataTypes.single=1.560 DataTypes = char: 'A' string: 'hello' int: 100 single: 1.5600 >> DataTypes(2).char=char([66]); DataTypes(2).string='kugou'; DataTypes(2).int=200; DataTypes(2).single=3.14 DataTypes = 1x2 struct array with fields: char string int single 2.用满矩阵和稀疏矩阵存储方式分别构造下述矩阵。 A=

答: A = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 B = A = 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 A = 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 A = 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 A = 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1

各种BP学习算法MATLAB仿真

3.3.2 各种BP学习算法MATLAB仿真 根据上面一节对BP神经网络的MATLAB设计,可以得出下面的通用的MATLAB程序段,由于各种BP学习算法采用了不同的学习函数,所以只需要更改学习函数即可。 MATLAB程序段如下: x=-4:0.01:4; y1=sin((1/2)*pi*x)+sin(pi*x); %trainlm函数可以选择替换 net=newff(minmax(x),[1,15,1],{'tansig','tansig','purelin'},'trainlm'); net.trainparam.epochs=2000; net.trainparam.goal=0.00001; net=train(net,x,y1); y2=sim(net,x); err=y2-y1; res=norm(err); %暂停,按任意键继续 Pause %绘图,原图(蓝色光滑线)和仿真效果图(红色+号点线) plot(x,y1); hold on plot(x,y2,'r+'); 注意:由于各种不确定因素,可能对网络训练有不同程度的影响,产生不同的效果。如图3-8。 标准BP算法(traingd)

图3-8 标准BP算法的训练过程以及结果(原图蓝色线,仿真图+号线)增加动量法(traingdm) 如图3-9。 图3-9 增加动量法的训练过程以及结果(原图蓝色线,仿真图+号线)弹性BP算法(trainrp)如图3-10 图3-10 弹性BP算法的训练过程以及结果(原图蓝色线,仿真图+号线)

动量及自适应学习速率法(traingdx)如图3-11。 图3-11 动量及自适应学习速率法的训练过程以及结果(原图蓝色线,仿真图+号线)共轭梯度法(traincgf)如图3-12。

matlab基础实验

实验一 MATLAB基础知识 一、实验目的 1.熟练掌握Matlab的启动与退出; 2. 熟悉Matalb的命令窗口,常用命令和帮助系统; 3. 熟悉Matalb的数据类型; 4. 熟悉Matlab的基本矩阵操作,运算符和字符串处理 二、实验设备 1.方正电脑 2.MATLAB软件 三、实验内容 1. 已知矩阵 A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] 写出完成下列操作的命令: (1) 将矩阵A的第2-5行中第1,3,5列元素赋给矩阵B; (2) 删除矩阵A的第7号元素; (3) 将矩阵A的每个元素加上30; (4) 求矩阵A的大小和维数; (5) 将矩阵A的右下角3*2矩阵构成矩阵C; (6) 输出[-5,5]范围内的所有元素; 程序: A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] %(1) B=A(2:5,[1 3 5]) %(2) A2=A; A2(7)=[] %(3) A3=A+30 %(4) length(A) size(A) %(5) C=A(end-2:end,end-1:end) %(6) A6=A.*(A>=-5 & A<=5) 结果: A =

3 4 -1 1 -9 10 6 5 0 7 4 -16 1 -4 7 -1 6 -8 2 -4 5 -6 12 -8 -3 6 -7 8 -1 1 8 -4 9 1 3 0 B = 6 0 4 1 7 6 2 5 12 -3 -7 -1 A2 = Columns 1 through 7 3 6 1 2 -3 8 5 Columns 8 through 14 -4 -4 6 -4 -1 0 7 Columns 15 through 21 5 -7 9 1 7 -1 - 6 Columns 22 through 28 8 1 -9 4 6 12 -1 Columns 29 through 35 3 10 -16 -8 -8 1 0 A3 = 33 34 29 31 21 40 36 35 30 37 34 14

MATLAB)课后实验答案[1]

实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 0 12 2sin 851z e =+ (2) 21ln(2 z x =,其中2 120.45 5i x +??=? ?-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+= ++=--L (4) 2242011 122123t t z t t t t t ?≤

4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。解:(1) 结果: (2). 建立一个字符串向量例如: ch='ABC123d4e56Fg9';则要求结果是:

实验二 MATLAB 矩阵分析与处理 1. 设有分块矩阵33322322E R A O S ?????? =? ??? ,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证2 2 E R RS A O S +?? =???? 。 解: M 文件如下; 5. 下面是一个线性方程组: 1 231 1 12340.951110.673450.521114 5 6x x x ?? ??????????????=??? ??????????????????? (1) 求方程的解。 (2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。 (3) 计算系数矩阵A 的条件数并分析结论。 解: M 文件如下: 123d4e56g9

内点法matlab仿真doc资料

编程方式实现: 1.惩罚函数 function f=fun(x,r) f=x(1,1)^2+x(2,1)^2-r*log(x(1,1)-1); 2.步长的函数 function f=fh(x0,h,s,r) %h为步长 %s为方向 %r为惩罚因子 x1=x0+h*s; f=fun(x1,r); 3. 步长寻优函数 function h=fsearchh(x0,r,s) %利用进退法确定高低高区间,利用黄金分割法进行求解h1=0;%步长的初始点 st=0.001; %步长的步长 h2=h1+st; f1=fh(x0,h1,s,r); f2=fh(x0,h2,s,r); if f1>f2 h3=h2+st; f3=fh(x0,h3,s,r); while f2>f3 h1=h2; h2=h3; h3=h3+st; f2=f3; f3=fh(x0,h3,s,r); end else st=-st; v=h1; h1=h2; h2=v; v=f1; f1=f2; f2=v; h3=h2+st; f3=fh(x0,h3,s,r); while f2>f3 h1=h2; h2=h3; h3=h3+st; f2=f3;

f3=fh(x0,h3,s,r); end end %得到高低高的区间 a=min(h1,h3); b=max(h1,h3); %利用黄金分割点法进行求解 h1=1+0.382*(b-a); h2=1+0.618*(b-a); f1=fh(x0,h1,s,r); f2=fh(x0,h2,s,r); while abs(a-b)>0.0001 if f1>f2 a=h1; h1=h2; f1=f2; h2=a+0.618*(b-a); f2=fh(x0,h2,s,r); else b=h2; h2=h1; f2=f1; h1=a+0.382*(b-a); f1=fh(x0,h1,s,r); end end h=0.5*(a+b); 4. 迭代点的寻优函数 function f=fsearchx(x0,r,epson) x00=x0; m=length(x0); s=zeros(m,1); for i=1:m s(i)=1; h=fsearchh(x0,r,s); x1=x0+h*s; s(i)=0; x0=x1; end while norm(x1-x00)>epson x00=x1; for i=1:m s(i)=1; h=fsearchh(x0,r,s);

MATLAB基础及应用实验指导书

MATLAB基础及应用实验指导书

MATLAB基础及应用课程实验指导书 实验一软件环境和基本操作熟悉 一、实验目的 ①熟悉MATLAB 主界面,并学会简单的菜单操作。 ②学会简单的矩阵输入与信号输入。 ③掌握部分绘图函数。 二、实验内容 熟悉MATLAB操作环境,通过简单操作熟悉MATLAB的基本使用方法。 三、实验要求与步骤 1、用户第一次使用MATLAB 时,建议首先在屏幕上键入demo 命令,它将启动MATLAB 的演试程序,用户可在此演示程序中领略MATLAB 所提供的强大的运算与绘图功能。也可以键入help 进行进一步了解。 MATLAB 启动界面如图所示: MATLAB 语言最基本的赋值语句结构为:变量名列表= 表达式。表达式由操作符或其它字符,函数和变量名组成,表达式的结果为一个矩阵,显示在屏幕上,同时输送到一个变量中并存放于工作空间中以备调用。如果变量名和“= ”省略,则ans 变量将自动建立,例如键入:1900/81 ,得到输出结果:ans =23.4568 。 MATLAB 中变量命名的原则要求必须以英文字母开头,文件夹名字中可以

还包括、下划线和数字,不要使用其他的字符,更不要单纯使用数字或者中文名命名,有时在运行MATLAB 中一些莫名的错误可能就是不规范的命名引起的。这种规则包括将来为自己编写的脚本文件、函数文件命名以及为使用的变量命名也应遵循这个规则。 2、用户工作目录和当前目录的建立和设置 1)为管理方便,每个用户在使用MATLAB 前,尽量为自己建立一个专门的工作目录,即“用户目录”,用来存放自己创建应用文件。例如首先打开资源管理器,在E 驱动器下可以根据自己喜好建立一个新文件夹,但应注意:该文件夹必须以英文开头,文件夹名字中可以包括字母、下划线和数字,不要使用其他的字符,更不要单纯使用数字或者中文名命名,有时在运行MATLAB 中一些莫名的错误可能就是不规范的命名引起的,这与MATLAB 中为变量和文件名命名原则是一致的。尽管MATLAB\work 允许用户存放用户文件,但最好把它仅作为临时工作目录来使用。 2)为了用户运行方便,在开始工作前可把用户定义的目录设置为当前目录,方法是可直接在MATLAB 命令窗口桌面上方通过目录设置栏来实现。 3)把自己的工作目录加到MATLAB 搜索路径上,这样可以在任何情况下方便地调用自己的编写文件。MATLAB 工作时,基本搜索过程为:首先在工作空间,即MATLAB 内存中进行检查,看输入的指令是不是变量;如不是,则检查输入指令是不是内建函数(比如sin 函数等);如不是,则在当前目录上,检查是否有与输入指令相同的M 文件存在;如还没有,则在MATLAB 定义的搜索路径其他目录中,检查是否有该M 文件存在。设置方法是通过File 菜单下设置路径对话框进行。 3、熟悉简单的矩阵输入 1)从屏幕上输入矩阵A=[1 2 3 ;4 5 6;7 8 9] 回车 A=[1,2,3;4,5,6;7,8,9] 回车 观察输出结果。 2)试用回车代替分号,观察输出结果。 3)输入size(A) ,观察结果。 4)输入矩阵B=[9,8,7;6,5,4;3,2,1];回车 输入矩阵C=[4,5,6;7,8,9;1,2,3];回车,然后分别键入 A B C 回车观察结果。 5)选择File | new 菜单中的M-file ,输入B=[9,8,7;6,5,4;3,2,1] ;保存为

PID控制算法的matlab仿真

PID 控制算法的matlab 仿真 PID 控制算法就是实际工业控制中应用最为广泛的控制算法,它具有控制器设计简单,控制效果好等优点。PID 控制器参数的设置就是否合适对其控制效果具有很大的影响,在本课程设计中一具有较大惯性时间常数与纯滞后的一阶惯性环节作为被控对象的模型对PID 控制算法进行研究。被控对象的传递函数如下: ()1d s f Ke G s T s τ-= + 其中各参数分别为30,630,60f d K T τ===。MATLAB 仿真框图如图1所示。 图1 2 具体内容及实现功能 2、1 PID 参数整定 PID 控制器的控制参数对其控制效果起着决定性的作用,合理设置控制参数就是取得较好的控制效果的先决条件。常用的PID 参数整定方法有理论整定法与实验整定法两类,其中常用的实验整定法由扩充临界比例度法、试凑法等。在此处选用扩充临界比例度法对PID 进行整定,其过程如下: 1) 选择采样周期 由于被控对象中含有纯滞后,且其滞后时间常数为 60d τ=,故可选择采样周期1s T =。 2) 令积分时间常数i T =∞,微分时间常数0d T =,从小到大调节比例系数K , 使得系统发生等幅震荡,记下此时的比例系数k K 与振荡周期k T 。 3) 选择控制度为 1.05Q =,按下面公式计算各参数:

0.630.490.140.014p k i k d k s k K K T T T T T T ==== 通过仿真可得在1s T =时,0.567,233k k K T ==,故可得: 0.357,114.17,32.62, 3.262p i d s K T T T ==== 0.0053.57 p s i i p d d s K T K T K T K T === = 按此组控制参数得到的系统阶跃响应曲线如图2所示。 01002003004005006007008009001000 0.20.40.60.811.21.41.6 1.8 图2 由响应曲线可知,此时系统虽然稳定,但就是暂态性能较差,超调量过大,且响应曲线不平滑。根据以下原则对控制器参数进行调整以改善系统的暂态过程: 1) 通过减小采样周期,使响应曲线平滑。 2) 减小采样周期后,通过增大积分时间常数来保证系统稳定。 3) 减小比例系数与微分时间常数,以减小系统的超调。 改变控制器参数后得到系统的阶跃响应曲线如图3所示,系统的暂态性能得到明显改善、

matlab实验4MATLAB基本编程

实验4 MATLAB 基本编程 一、实验目的 1. 熟悉MATLAB 的脚本编写 2. 熟悉MATLAB 的函数编写 3. 熟悉MATLAB 的变量使用 4. 熟悉MATLAB 的程序控制结构 二、实验内容 1. 分别选用if 或switch 结构实现下述函数表示。 -1 x ≤-a f(x)= x/a -a ≤<--≤<≤<--≤=d x d x c d x d c c x b b x a a x a b a x x f 0)(11)(10)(

实验一 典型环节的MATLAB仿真汇总

实验一 典型环节的MATLAB 仿真 一、实验目的 1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、SIMULINK 的使用 MATLAB 中SIMULINK 是一个用来对动态系统进行建模、仿真和分析的软件包。利用SIMULINK 功能模块可以快速的建立控制系统的模型,进行仿真和调试。 1.运行MATLAB 软件,在命令窗口栏“>>”提示符下键入simulink 命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK 仿真 环境下。 2.选择File 菜单下New 下的Model 命令,新建一个simulink 仿真环境常规模板。 3.在simulink 仿真环境下,创建所需要的系统 三、实验内容 按下列各典型环节的传递函数,建立相应的SIMULINK 仿真模型,观察并记录其单位阶跃响应波形。 ① 比例环节1)(1=s G 和2)(1=s G 实验处理:1)(1=s G SIMULINK 仿真模型

波形图为: 实验处理:2)(1=s G SIMULINK 仿真模型 波形图为: 实验结果分析:增加比例函数环节以后,系统的输出型号将输入信号成倍数放大. ② 惯性环节11)(1+= s s G 和15.01)(2+=s s G 实验处理:1 1 )(1+=s s G SIMULINK 仿真模型

波形图为: 实验处理:1 5.01 )(2+= s s G SIMULINK 仿真模型 波形图为: 实验结果分析:当1 1 )(1+= s s G 时,系统达到稳定需要时间接近5s,当

实验一 Matlab基本操作(2016)

实验一 MATLAB 基本操作 一、实验目的 1. 学习和掌握MA TLAB 的基本操作方法 2. 掌握命令窗口的使用 3. 熟悉MATLAB 的数据表示、基本运算 二、实验内容和要求 1. 实验内容 1) 练习MATLAB7.0或以上版本 2) 练习矩阵运算与数组运算 2. 实验要求 1) 每位学生独立完成,交实验报告 2) 禁止玩游戏! 三、实验主要软件平台 装有MATLAB7.0或以上的PC 机一台 四、实验方法、步骤及结果测试 1. 实验方法:上机练习。 2. 实验步骤: 1) 开启PC ,进入MA TLAB 。 2) 使用帮助命令,查找sqrt 函数的使用方法 答: help sqrt 3) 矩阵、数组运算 a) 已知 ??????????=987654321A ,???? ??????=963852741B ,求)2()(A B B A -?+ 答: A=[1, 2, 3; 4, 5, 6; 7, 8, 9]; B=[1, 4, 7; 2, 5, 8; 3, 6, 9]; (A+B)*(2*B-A) b) 已知?? ????-=33.1x ,??????=π24y ,求T xy ,y x T c) 已知??????????=987654321A ,???? ??????=300020001B ,求A/B, A\B. d) 已知???? ??????=987654321A ,求:(1) A 中第三列前两个元素;(2) A 中所有第二行元素;(3) A 中四个角上的元素;(4) 交换A 的第1、3列。(5) 交换A 的第1、2行。(6) 删除A 的第3列。

e) 已知[]321=x ,[]654=y ,求:y x *.,y x /.,y x \.,y x .^, 2.^x ,x .^2。 f) 给出x=1,2,…,7时,x x sin 的值。 3)常用的数学函数 a )随机产生一个3x3的矩阵A ,求:(1) A 每一行的最大、最小值,以及最大、最小值所在的列;(2) A 每一列的最大、最小值,以及最大、最小值所在的行;(3) 整个矩阵的最大、最小值;(4) 每行元素之和;(5) 每列元素之和;(6) 每行元素之积;(7) 每列元素之积。 b) 随机产生两个10个元素的向量x ,y 。(1) 求x 的平均值、标准方差。(2) 求x ,y 的相关系数。(3)对x 排序,并记录排序后元素在原向量中的位置。 4) 字符串操作函数 建立一个字符串向量(如‘ABc123d4e56Fg9’),然后对该向量做如下处理: (1) 取第1~5个字符组成的子字符串。 (2) 将字符串倒过来重新排列。 (3) 将字符串中的小写字母变成相应的大写字母,其余字符不变。 (4) 统计字符串中小写字母的个数。

LMMSE算法信道均衡MATLAB仿真

一.信道均衡的概念 实际的基带传输系统不可能完全满足无码间串扰传输条件,因而码间串扰是不可避免的。当串扰严重时,必须对系统的传输函数 进行校正,使其达到或接近无码间串扰要求的特性。理论和实践表明,在基带系统中插入一种可调滤波器就可以补偿整个系统的幅频,和相频特性从而减小码间串扰的影响这个对系统校正的过程称为均衡,实现均衡的滤波器称为均衡器。 均衡分为频域均衡和时域均衡。频域均衡是从频率响应考虑,使包括均衡器在内的整个系统的总传输函数满足无失真传输条件。而时域均衡,则是直接从时间响应考虑,使包括均衡器在内的整个系统的冲激响应满足无码间串扰条件。 频域均衡在信道特性不变,且传输低速率数据时是适用的,而时域均衡可以根据信道特性的变化进行调整,能够有效地减小码间串扰,故在高速数据传输中得以广泛应用。 时域均衡的实现方法有多种,但从实现的原理上看,大致可分为预置式自动均衡和自适应式自动均衡。预置式均衡是在实际传数之前先传输预先规定的测试脉冲(如重复频率很低的周期性的单脉冲波形),然后按“迫零调整原理”自动或手动调整抽头增益;自适应式均衡是在传数过程中连续测出距最佳调整值的误差电压,并据此电压去调整各抽头增益。一般地,自适应均衡不仅可以使调整精度提高,而且当信道特性随时间变化时又能有一定的自适应性,因此很受重视。这种均衡器过去实现起来比较复杂,但随着大规模、超大规模集成电路和微处理机的应用,其发展十分迅速。 二.信道均衡的应用 1.考虑如图所示的基带等效数据传输系统,发送信号k x 经过ISI 失真信道传输,叠加高斯加性噪声。 图1基带等效数据传输模型 设发送信号采用QPSK 调制,即(1)k x j =±±ISI 信道的冲击响应以向量的形式表示为h 2211[,,,]T L L L h h h --+=???。典型的ISI 信道响应向量有三种: h [0.04,0.05,0.07,0.21,0.5,0.72,0.36,0,0.21,0.03,0.07]T A =--- h [0.407,0.815,0.407]T B = h [0.227,0.46,0.6888,0.46,0.227]T C = k ω为实部与虚部独立的复高斯白噪声,其均值为零,方差为2 ωσ。 2.实现目的

实验一:MATLAB软件入门(2015版)

实验一:MATLAB 软件入门 一、 实验目的及意义 [1] 熟悉MATLAB 软件的用户环境; [2] 了解MATLAB 软件的一般目的命令; [3] 掌握MATLAB 数组操作与运算函数; [4] 掌握MATLAB 软件的基本绘图命令; [5] 掌握MATLAB 语言的几种循环、条件和开关选择结构。 通过该实验的学习,使学生能灵活应用MATLAB 软件解决一些简单问题,能借助MATLAB 软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。 二、实验内容 1.MATLAB 软件的数组操作及运算练习; 2.直接使用MATLAB 软件进行作图练习; 3.用MATLAB 语言编写命令M-文件和函数M-文件。 三、实验步骤 1. 在D 盘建立一个自己的文件夹; 2.开启软件平台——MATLAB ,将你建立的文件夹加入到MATLAB 的搜索路径中。 3.利用帮助了解函数max, min, sum, mean, sort, length ,rand, size 和diag 的功能和用法。 4.开启MATLAB 编辑窗口,键入你编写的M 文件(命令文件或函数文件); 5.保存文件(注意将文件存入你自己的文件夹)并运行; 6.若出现错误,修改、运行直到输出正确结果; 7.写出实验报告,并浅谈学习心得体会。 四、实验要求与任务 根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→算法与编程→计算结果或图形→心得体会) 1.设有分块矩阵??????=????223 22333S O R E A ,其中E,R,O,S 分别为单位阵、随机阵、零阵和对角阵,试通过数值计算验证??????+= 22S 0RS R E A 。 2.某零售店有9种商品的单件进价(元)、售价(元)及一周的销量如表1.1,问哪种商品的利润最大,哪种商品的利润最小;按收入由小到大,列出所有商品及其收入;求这一周该10种商品的总收入和总利润。 表1.1

神经网络学习算法matlab仿真

东南大学自动化学院 智能控制概论 神经网络学习算法研究 学院: 姓名: 学号: 日期:

目录 1 任务要求叙述 ..................................................... 错误!未定义书签。 2 系统分析及设计原理 ......................................... 错误!未定义书签。 3 设计实现.............................................................. 错误!未定义书签。4仿真验证.. (6) 5 讨论与分析.......................................................... 错误!未定义书签。

一.任务要求叙述 (1)任务 (a) 运行算法,观察和分析现有学习算法的性能; clear all;close all; nu=20;pi=3.1415926; for i=1:nu p(i)=2*pi*i/nu; t(i)=0.5*(1+cos(p(i))); end minmax=[min(p(:)) max(p(:))] net = newff([ 0 7],[6 1],{'logsig' 'purelin'},'traingd');% traingd traingdm trainlm net.trainParam.epochs = 10000; net.trainParam.goal = 0.0001; net.trainParam.show=200; net.trainParam.lr=0.1; net.trainParam.mc=0.6; %0.9 default value; available for momentum net = train(net,p,t); y1 = sim(net,p); figure(2); plot(p,t,'*-',p,y1,'r--') %************** test data ****************** nu2=nu*3/2; for i=1:(nu2) p2(i)=2*pi*i/(nu2); t2(i)=0.5*(1+cos(p2(i))); end y2 = sim(net,p2); figure(3); plot(t2,'*-');hold on; plot(y2,'r'); xlabel('times');ylabel('outputs'); figure(4); plot(t2-y2); xlabel('times');ylabel('error'); (b) 为了进一步提高学习逼近效果,可以采取那些措施,调节规律如何?根据所提的每种措施,修改算法程序,给出仿真效果验证、过程以及相应的曲线图,给出适当的评述;(c) 联系、结合前向神经网络的算法样本学习、测试等过程,谈谈本人对神经网络系统的一些认识和看法。 (2)要求 提交完整的报告,包括:封面(题目、个人学号姓名等信息)、目录、任务要求叙述、系

实验一 MATLAB运算基础

实验一 MATLAB 运算基础 一、实验目的 1.熟悉启动和退出MATLAB 的方法; 2.熟悉MATLAB 命令窗口的组成; 3.掌握建立矩阵的方法; 4.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。 二、实验内容 1.先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 ⑴21185sin 2e z +?=; >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = 0.2375 ⑵)1ln(2122x x z ++=,其中?? ????-+=545.0212i x ; >> x=[2 1+2i;-0.45 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = 0.7114 - 0.0253i 0.8968 + 0.3658i 0.2139 + 0.9343i 1.1541 - 0.0044i ⑶0.3,9.2,8.2,,8.2,9.2,0.3,2 3.0ln )3.0sin(23.03.03 ---=+++-=-a a a e e z a a >> a=(-3.0:0.1:3.0); >> z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2) z3 = Columns 1 through 3 0.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i Columns 4 through 6 0.7913 + 3.1416i 0.7822 + 3.1416i 0.7602 + 3.1416i Columns 7 through 9

MATLAB入门实验报告

MATLAB实验报告 题目:第一次实验报告 学生姓名: 学院: 专业班级: 学号: 年月

MATLAB第一次实验报告 ————入门第一次上机实验刘老师就MATLAB软件进行了 大致的讲解,并讲了如何建立M文件,定义函数数 组矩阵,如何绘图。先就老师讲解及自己学习的情 况做汇报。 一、建立M文件 <1>M文件建立方法: 1. 在MATLAB中,点:File→New →M-file 2. 在编辑窗口中输入程序内容 3. 点File →Save,存盘,M文件名必须与函数名 一致 <2>课上实例 例:定义函数f(x1,x2)=100(x2-x12)2+(1-x1)2 答:建立M文件:fun.m function f=fun(x) f=100*(x(2)-x(1)^2)^2+(1-x(1))^2 如此便可以直接使用函数fun.m 例如计算f(1,2), 只需在MATLAB命令窗口键入命

令: x=[1 2] fun(x) 得f = 100. <3>课下作业 题目:有一函数,写一程序,输入自变量的值,输出函数值. 解答:建立M文件:zuoye1.m function f=zuoye1(x,y) f=x^2+sin(x*y)+2*y 命令行输入x=1,y=1 zuoye1(x,y) 得ans = 3.8415 经验算答案正确,所以程序正确。

二、定义数组、矩阵 <1>说明 逗号或空格用于分隔某一行的元素,分号用于区分不同的行. 除了分号,在输入矩阵时,按Enter 键也表示开始新一行. 输入矩阵时,严格要求所有行有相同的列 <2>课后作业 题目:有一个4x5矩阵,编程求出其最大值及其所处的位置. 解答:a=round(10*rand (4,5)) [temp I]=max(a) [am II]=max(temp) p=[I(II) II] 运行得一随机矩阵 a = 7 7 7 3 7 0 8 2 0 3 8 7 7 1 10 9 4 0 8 0 temp =

实验1MATLAB运算基础实验报告模板

长沙理工大学计通学院通信工程系胡双红编MATALB与信号处理 实验报告 实验项目名称:MATALB运算基础 学院:____交通运输工程学院___ 专业:_________道路工程_______ 学号:___201610010415_____ 班级:____道路4班____________ 报告人:____田然_____________ 指导老师:___ 胡双红________ 实验时间:_________2017.9.16_____ 实验目的:

1. 熟悉启动和退出MATLAB 的方法。 2. 掌握MATLAB 命令窗口的组成。 3. 掌握建立矩阵的方法。 4. 掌握MATLAB 各种表达式的书写规则以及常用函数的使用。 实验内容与要求: 实验1: 求下列表达式的值,然后显示MATLAB 工作空间的使用情况(whos 函数)并保存全部变量(save 函数)。 (1) 12 2sin851z e =+ 提示:自然对数e 用exp(1)函数产生 (2) (21 ln 2z x = ,其中2120.45 5i x +??=??-?? 提示:ln 运算用log()函数计算 根号运算用sqrt()函数计算 (3) ()0.30.330.3sin 0.3ln 22 a a e e a z a --+=++ ,3.0, 2.9,,2.9,3.0a =-- 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算 (4) 2242011 122123t t z t t t t t ?≤

时域有限差分法对平面TE波的MATLAB仿真

时域有限差分法对平面TE波的 MATLAB仿真 摘要 时域有限差分法是由有限差分法发展出来的数值计算方法。自1966年Yee 在其论文中首次提出时域有限差分以来,时域有限差分法在电磁研究领域得到了广泛的应用。主要有分析辐射条线、微波器件和导行波结构的研究、散射和雷达截面计算、分析周期结构、电子封装和电磁兼容的分析、核电磁脉冲的传播和散射以及在地面的反射及对电缆传输线的干扰、微光学元器件中光的传播和衍射特性等等。 由于电磁场是以场的形态存在的物质,具有独特的研究方法,采取重叠的研究方法是其重要的特点,即只有理论分析、测量、计算机模拟的结果相互佐证,才可以认为是获得了正确可信的结论。时域有限差分法就是实现直接对电磁工程问题进行计算机模拟的基本方法。在近年的研究电磁问题中,许多学者对时域脉冲源的传播和响应进行了大量的研究,主要是描述物体在瞬态电磁源作用下的理论。另外,对于物体的电特性,理论上具有几乎所有的频率成分,但实际上,只有有限的频带内的频率成分在区主要作用。 文中主要谈到了关于高斯制下完全匹配层的差分公式的问题,通过MATLAB 程序对TE波进行了仿真,模拟了高斯制下完全匹配层中磁场分量瞬态分布。得到了相应的磁场幅值效果图。 关键词:时域有限差分完全匹配层MATLAB 磁场幅值效果图

目录 摘要 (1) 目录 (3) 第一章绪论 (4) 1.1 课题背景与意义 (4) 1.2 时域有限差分法的发展与应用 (4) 2.1 Maxwell方程和Yee氏算法 (7) 2.2 FDTD的基本差分方程 (9) 2.3 时域有限差分法相关技术 (11) 2.3.1 数值稳定性问题 (11) 2.3.2 数值色散 (12) 2.3.3 离散网格的确定 (13) 2.4 吸收边界条件 (13) 2.4.1 一阶和二阶近似吸收边界条件 (14) 2.4.2 二维棱边及角顶点的处理 (17) 2.4.3 完全匹配层 (19) 2.5 FDTD计算所需时间步的估计 (23) 第三章MATLAB的仿真的程序及模拟 (25) 3.1 MATLAB程序及相应说明 (25) 3.2 出图及结果 (28) 3.2.1程序部分 (28) 3.2.2 所出的效果图 (29) 第四章结论 (31) 参考文献 (32)

实验一MATLAB操作基础实验报告

闽 江 学 院 电 子 系 实 验 报 告 学生姓名: 班级: 学 号: 课程:MATLAB 程序设计 一、 实验题目:MATLAB 操作基础 二、 实验地点:实验楼A210 实验目的: 1、熟悉MATLAB 的操作环境及基本操作方法。 2、掌握MATLAB 的搜索路径及其设置方法。 3、熟悉MATLAB 帮助信息的查阅方法。 三、 实验内容: 1、先建立自己的工作目录,再将自己的工作目录设置到MATLAB 搜索路径下,再试验用help 命令能否查询到自己的工作目录。 2、在MATLAB 环境下验证例1-1至1-4,并完成以下题目: (1)绘制右图所示图形 (2)求38 3、利用MATLAB 的帮助功能分别查询inv ,plot 、max 、round 等函数的功能及用法。 4、在工作空间建立一个变量a ,同时在当前目录下建立一个M 文件:a.m ,试在命令窗口输入a ,观察结果,并解释原因。 四、 实验环境(使用的软硬件): MATLAB 7.0 五、 实验结果: 实验程序: (1)求38。 程序: x=8; plot(x, x^(1/3)); 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -1-0.8-0.6-0.4-0.200.20.40.60.81

得到的结果: ans= 2 (2)绘制图像 程序: x=[0:0.001:1]; plot(x, sin(2*pi*x),x, 2*x-1,x,0); 得到结果如下图: (3)查询plot 、inv 、round 、max 等函数的功能及用法 分别输入: 输入:help plot 得到: PLOT Linear plot. PLOT(X,Y) plots vector Y versus vector X. If X or Y is a matrix, then the vector is plotted versus the rows or columns of the matrix, whichever line up. If X is a scalar and Y is a vector, length(Y) disconnected points are plotted. PLOT(Y) plots the columns of Y versus their index. If Y is complex, PLOT(Y) is equivalent to PLOT(real(Y),imag(Y)). In all other uses of PLOT, the imaginary part is ignored. Various line types, plot symbols and colors may be obtained with 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -1-0.8-0.6-0.4-0.200.20.40.60.81

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