搜档网
当前位置:搜档网 › MATLAB Optimization Toolbox应用基础

MATLAB Optimization Toolbox应用基础

MATLAB Optimization Toolbox应用基础
MATLAB Optimization Toolbox应用基础

MATLAB Optimization Toolbox应用基础

专题Ⅰ单变量函数最小值问题(一维问题)

一、上机目的:

1、掌握一维搜索方法的基本概念、算法等知识点;

2、熟悉Matlab软件环境及有关语句和函数的使用方法。

二、原理和方法:

函数fminbnd是用来寻找单变量函数在固定区间内的最小值点及最小值。MATLAB各工具箱的每个函数,包括优化工具箱函数,都有多种不同的调用格式。其调用格式可使用在线帮助系统查询。

函数fminbnd最常用的调用格式为:

[x, fval] = fminbnd(fun, x1, x2)

%返回函数fun在区间x1

三、上机内容与步骤:

1、熟悉MATLAB软件环境,了解用户界面、掌握帮助系统使用等(重点)。

2、如求解函数f(x)=sin(x)在区间[0, 2π]内的最小值及最小值点,使用如下命令即可:

>> [x, fval] = fminbnd(@sin, 0, 2*pi)?

%符号“@”表明目标函数为MATLAB自定义的正弦函数sin.m。

x =4.7124 %最小值点赋值给x。fval =-1.0000 %最小值赋值给fval。

3、如果目标函数并不是MATLAB自定义的函数,需要首先定义一个函数M 文件,以该文件的名称来代替上述命令行中的“sin”部分。

如希望求出

3

e

x

log

x

x

cos

x

)x(f

+

+

=在[0,1]内的最小值及最小值点,首先编

写目标函数的M文件opt1.m,如下:

function f = myfun(x)

%编写函数M文件时,上句代码中的“myfun”并不一定与文件名相同。

f = (x^3+cos(x)+x*log(x))/exp(x)

然后调用fminbnd函数,在命令窗口中输入:

>> [x, fval]=fminbnd(@opt1, 0, 1)?

x =0.5223

fval =

0.3974

%注意此处使用“opt1”而不是“myfun”。

4、如果目标函数的表达式较为简单,也可以使用表达式的字符串而不必编写目标函数。如上例也可以使用[x, fval]=fminbnd('(x^3+cos(x)+x*log(x))/exp(x)',0,1)实现。

注:在MATLAB软件中,function为关键字,%为注释符号,>>为命令窗口中的提示符。

专题Ⅱ 线性方程组的应用

一、上机目的:

1、了解线性规划问题及可行解、最优解的概念 ;

2、掌握Matlab 软件关于求解线性规划的语句和方法。

二、原理和方法:

在工程实践中,很多重要的实际问题都是线性的(至少能够用线性函数很好的近似表示),所以我们一般把这些问题化为线性的目标函数和约束条件进行分析,通常将目标函数和约束都是线性表达式的规划问题称为线性规划。

其一般形式是:

矩阵形式表示为:

线性规划的可行解是满足约束条件的解;

线性规划的最优解是使目标函数达到最优的可行解。

一般求解线性规划的常用方法是单纯形法和改进的单纯形法,这类方法的基本思路是先求得一个可行解,检验是否为最优解;若不是,可用迭代的方法找到另一个更优的可行解,经过有限次迭代后,可以找到可行解中的最优解或者判定无最优解。

三、上机内容与步骤:

在Matlab 优化工具箱中,linprog 函数是使用单纯形法求解下述线性规划问题的函数。

命令格式为: )n ,,2,1i (0x b x a x a x a b x a x a x a b x a x a x a .

t .s x c x c x c f min i m n mn 22m 11m 2n n 22221211n n 1212111n n 2211 =>=???????<=+++<=+++<=++++++=0x ,b Ax .t .s x c f min T >=<==vub x vlb beq aeqx b Ax t s x c f T <=<==<==;,..min )

0,,,,,,,(],[)

,,,,,,(],[x vub vlb beq aeq b A c linprog fval x vub vlb beq aeq b A c linprog fval x ==

其中:A 为不等式约束条件矩阵,b, c 分别为目标函数的系数向量和不等式约束条件中最右边的数值向量;也可设置解向量的上界vlb 和下界vub ,即解向量必须满足vlb<=x<=vub ;还可预先设置初始解向量x0。

如没有不等式约束,而只有等式约束条件时,A=[ ],b=[ ];

aeq 与beq 分别为等式约束矩阵;

输出的结果:x 表示最优解向量;fval 表示最优值。

某一线性规划问题,如下:

考虑到linprog 函数只解决形式如下的线性规划。

所以先要将线性规划变换为如下形式:

建立M 文件如下(如以文件名optest 保存): c = [-3;1;1];

A = [1 -2 1; 4 -1 -2];

b = [11;-3];

aeq = [2 0 -1];

beq = -1;

vlb = [0;0;0];

[x,fval] = linprog(c, A, b, aeq, beq, vlb)

则在命令窗口中输入:optest ,可得到计算结果:x1 = 4,x2 = 1,x3 = 9,fval = -2。 ???????=>=-=->=++-<=+---=3,2,1i ,0x 1x x 23x 2x x 411x x 2x .t .s x x x 3f max i 313213213210;,..min >==<==x beq aeqx b Ax t s x c f T ???????=>=-<=--<=+--=-++-=3,2,1i ,0x 3x 2x x 411x x 2x 1x x 2.t .s x x x 3f min i 32132131321

MATLAB与仿真应用

摘要 MATLAB是美国mathworks公司开发的大型数学计算软件,它具有强大的矩阵处理和绘图功能,已经广泛地应用于科学研究和工程技术的各个领域,MATLAB 以矩阵和向量为基本数据单元,提供了丰富的矩阵操作和矩阵运算功能,并在这些基本运算基础上提供了可供各种科学研究和工程技术门类使用的工具箱。极大地方便了科学计算和工程问题的求解,使得科技人员从复杂的变成工作中解放出来,专注于数学模型的建立。本文着重介绍MATLAB的基本操作和一些基础应用,并通过例子来阐述说明,熟悉MATLAB函数调用,了解其在电工电子技术中的应用。掌握Matlab基本语法结构及调试方法,熟悉Matlab函数调用,熟练其用于电工电子的一些计算,并学会用Matlab/Simulink进行简单电路的仿真。 一、MALTISM简介 MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 在MATLAB函数库中,除了基本初等函数外,还有初等矩阵和矩阵变换、线性代数方程组合矩阵特征的求解、多项式运算和求根、函数的插值和数据的多项式拟合、数值积分和常数微分方程数值解、函数求极值、单变量非线性方程求解根、数据分析和傅里叶变换,以及某些特殊的矩阵函数和数学函数,这些函数都可以直接调用。用户可以根据自己的需要任意扩充函数库。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用. 二、MATLAB的应用。 MATLAB产品族可以用来进行以下各种工作: ●数值分析 ●数值和符号计算

matlab基础与指导应用部分习题问题详解

作业一 4、写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1,3,5列元素赋给矩阵B。>> M=[0:1:48]; >> A=reshape(M,7,7) A = 0 7 14 21 28 35 42 1 8 15 2 2 29 36 43 2 9 16 2 3 30 37 44 3 10 17 2 4 31 38 45 4 11 18 2 5 32 39 46 5 12 19 2 6 33 40 47 6 13 20 2 7 34 41 48 >> B=A(2:5,1:2:5) B = 1 15 29 2 16 30 3 17 31 4 18 32 (2)删除矩阵A的第七行元素。 >> A(7,:)=[] A = 0 7 14 21 28 35 42 1 8 15 2 2 29 36 43 2 9 16 2 3 30 37 44 3 10 17 2 4 31 38 45 4 11 18 2 5 32 39 46 5 12 19 2 6 33 40 4 7 (3)将矩阵A的每个元素值加30。 >> A=A+30 A = 30 37 44 51 58 65 72 31 38 45 52 59 66 73 32 39 46 53 60 67 74

33 40 47 54 61 68 75 34 41 48 55 62 69 76 35 42 49 56 63 70 77 (4求矩阵A的大小和维素。 sizeA = size(A) dA = ndims(A) sizeA = 6 7 dA = 2 (5)将向量t的0元素用机器零来代替。 >> t=[1 2 3 4 0 5]; t = 1 2 3 4 0 5 >> find(t==0) ans = 5 >> t(5)=eps t = 1.0000 2.0000 3.0000 4.0000 0.0000 5.0000 (6)将含有12个元素的向量x转换成3*4矩阵。 >> x=[0:11] x = 0 1 2 3 4 5 6 7 8 9 10 11 >> y=reshape(x,3,4) y =

第一章 基本MATLAB基本命令

MATLAB学习指南 第1章.基本MATLAB指令 1.1.基本数量运算 首先,我们来谈一谈怎样向程序中添加注释(例如此行)。注释就是我们向程序中添加的文字,用来解释我们在做什么。所以,如果我们或其他人以后读到此代码,就能很容易地理解代码在执行什么指令。在一个MATLAB文件中,如果百分号%出现在一行文字中,百分号后面的所有文字都是注释,而不是MATLAB想要进行解释的指令。首先,我们向屏幕输入信息,告诉计算机我们开始运行1.1节。 指令disp('字符串')在屏幕上展示了文本字符串。 接下来,我们令一个变量等于1。 如果x没有被声明,这一指令先为变量x在内存中分配一个空间,然后又将x的值1存储在所分配的空间中。同时,这一指令会将"x = 1"显示在屏幕上。通常,我们不希望像这样的输出结果把屏幕弄得杂乱,所以我们在指令的最后加上一个分号就可以使指令变得“不可见”。例如,我们使用下列指令把x的值“不可见地”变为2,然后将结果显示在屏幕上。x=2;x的值发生了改变,但是却没有显示在屏幕上 disp('我们已经改变了x的值'); 然后,通过输入“x”,不带分号,我们显示x的值。 现在,我们来看如何声明其它变量。 y=2*x; 对y的值进行初始化,使其等于x的值的2倍。 x=x+1;使x的值增加1。 z=2*x; 声明了另一变量z。 因为在声明变量z时x的值已经发生了变化,所以z不等于y。 接下来,我们想看存储在内存中的变量的列表。我们使用指令“who”来实现。 通过使用“whos”我们能得到更多的信息 我们也可使用这些指令来得到有关仅有的某些变量的信息。

我们想要去掉变量“差”。 使用指令“clear”来实现。 接下来,我们想要去掉变量x和y。 我们再次使用指令“clear”。 一般来说,好的程序设计模式都要求每行只编写一个指令;但是,MATLAB却允许将多个指令放在一行。 更普遍的情况是,由于语句结构的长度使得我们希望一个指令能够分成多行。这可通过使用3个点来实现。 最后,当使用指令“clear all”时,我们可一次去掉所有变量。 1.2.基本向量运算 声明一个变量最简单的,但不值得推荐的方法就是逐一输入其分量。 x显示x的值 一般来说,最好一下子声明一个变量,因为这样的话MATLAB从一开始就知道它需要分配多少内存。对于大型向量,这会更加有效。 y=[1 4 6] 与上述代码作用相同。 注意到这次声明了一个行向量。为得到一个列向量,我们或者使用转置(复合x的伴随矩阵)算符xT=x’;把实行向量x进行转置,或从一开始就将其变成列向量。 为了看到行向量和列向量在大小上的不同,使用指令“size”便可返回向量或矩阵的大小。

matlab电力电子仿真教程

MATLAB在电力电子技术中的应用 目录 MATLAB在电力电子技术中的应用 (1) MATLAB in power electronics application (2) 目录 (4) 1绪论 (6) 1.1关于MATLAB软件 (6) 1.1.1MATLAB软件是什么 (6) 1.1.2MATLAB软件的特点和基本操作窗口 (7) 1.1.3MATLAB软件的基本操作方法 (10) 1.2电力电子技术 (12) 1.3MATLAB和电力电子技术 (13) 1.4本文完成的主要内容 (14) 2MATLAB软件在电路中的应用 (15) 2.1基本电气元件 (15) 2.1.1基本电气元件简介 (15) 2.1.2如何调用基本电器元件功能模块 (17) 2.2如何简化电路的仿真模型 (19) 2.3基本电路设计方法 (19) 2.3.1电源功能模块 (19) 2.3.2典型电路设计方法 (20) 2.4常用电路设计法 (21) 2.4.1ELEMENTS模块库 (21) 2.4.2POWER ELECTRONICS模块库 (22) 2.5MATLAB中电路的数学描述法 (22) 3电力电子变流的仿真 (25) 3.1实验的意义 (25) 3.2交流-直流变流器 (25)

3.2.1单相桥式全控整流电路仿真 (26) 3.2.2三相桥式全控整流电路仿真 (38) 3.3三相交流调压器 (53) 3.3.1无中线星形联结三相交流调压器 (53) 3.3.2支路控制三角形联结三相交流调压器 (59) 3.4交流-交流变频电路仿真 (64) 3.5矩阵式整流器的仿真 (67)

MATLAB仿真教程

一、设计目的 通过运用MATLAB对函数进行Z域分析和单边带信号的调制与解调,使我们进一步加深对MATLAB的认识和运用,以实现以下目的: 1.本次试验进一步熟悉了MATLAB软件的使用方法及相关的操作。 2.对Z变换及其反变换函数在MATLAB中的调用有了掌握。 3.理论与实际的仿真相结合,更直观的看到结果。 4.观察了单边带信号调制与解调后的图像,加深认识。 二、设计原理 MATLAB是The MathWorks公司在1984年推出的一种商品化软件,它提供了大量丰富的应用函数,并且具有扩充的开放性结构。目前,该软件包涵盖了控制系统应用、数字信号处理、数字图像处理、通讯、神经网络、小波理论分析、优化与统计、偏微分方程、动态系统实时仿真等多学科专业领域。 其中单边带调制信号是将双边带信号中的一个边带滤掉而形成的。根据方法的不同,产生单边带调制信号的方法有:滤波和相移法。 由于滤波法在技术上比较难实现所以在此我们将用相移法对单边带调制与解调系统进行讨论与设计。 三、设计内容和MATLAB图像

1、数字系统的响应 源代码如下: b=[0 1 2 1 0]; a=[1 -0.5 0 0.3 -0.005]; subplot(421);zplane(b,a); title('系统的零极点图'); subplot(422);impz(b,a,21); title('单位脉冲响应'); subplot(423);stepz(b,a,21); title('单位阶跃响应');

N=21;n=0:N-1; x=exp(-n); x0=zeros(1,N); y0=[1,-1]; xi=filtic(b,a,y0); y1=filter(b,a,x0,xi); xi0=filtic(b,a,0); y2=filter(b,a,x,xi0); y3=filter(b,a,x,xi); [h w]=freqz(b,a,21); subplot(424);stem(n,y1); title('零输入响应');grid on; subplot(425);stem(n,y2); title('零状态响应');grid on; subplot(426);stem(n,y3); title('系统的全响应');grid on; subplot(427);plot(w,abs(h)); title('幅频特性曲线');grid on; subplot(428);plot(w,angle(h)); title('相频特性曲线');grid on;

直流电动机的MATLAB仿真..

第一章课程设计内容及要求 1. 直流电动机的机械特性仿真; 2. 直流电动机的直接起动仿真; 3. 直流电动机电枢串联电阻启动仿真; 4. 直流电动机能耗制动仿真; 5.直流电动机反接制动仿真; 6. 直流电动机改变电枢电压调速仿真; 7. 直流电动机改变励磁电流调速仿真。 要求:编写M文件,在Simulink环境画仿真模型原理图,用二维画图命令画仿真结果图或用示波器观察仿真结果,并加以分析

第二章直流电动机的电力拖动仿真绘制 1)直流电动机的机械特性仿真 clear; U_N=220;P_N=22;I_N=115; n_N=1500;R_a=;R_f=628; Ia_N=I_N-U_N/R_f; C_EPhi_N=(U_N-R_a*Ia_N)/n_N; C_TPhi_N=*C_EPhi_N; Ia=0;Ia_N; n=U_N/C_EPhi_N-R_a/(C_EPhi_N)*Ia; Te=C_TPhi_N*Ia; P1=U_N*Ia+U_N*U_N/R_f; T2_N=9550*P_N/n_N; figure(1); plot(Te,n,'.-'); xlabel('电磁转矩Te/'); ylabel('转矩n/rpm'); ylim([0,1800]); figure(2); plot(Te,n,'rs'); xlabel('电磁转矩Te/'); ylabel('转矩n/rpm');

hold on; R_c=0; for coef=1:;; U=U_N*coef; n=U/C_EPhi_N-(R_a+R_c)/(C_EPhi_N*C_TPhi_N)*Te; plot(Te,n,'k-'); str=strcat('U=',num2str(U),'V'); s_y=1650*coef; text(50,s_y,str); end figure(3); n=U_N/C_EPhi_N-(R_a+R_c)/(C_EPhi_N*C_TPhi_N)*Te; plot(Te,n,'rs'); xlabel('电磁转矩Te/'); ylabel('转矩n/rpm'); hold on; U=U_N;R_c=; for R_c=0::; n=U/C_EPhi_N-(R_a+R_c)/(C_EPhi_N*C_TPhi_N)*Te; plot(Te,n,'k-'); str=strcat('R=',num2str(R_c+R_a),'\Omega'); s_y=400*(4-R_c*; text(120,s_y,str);

基于Matlab 的单边带调幅电路仿真

西南科技大学 专业综合设计报告 课程名称:电子专业综合设计 设计名称:基于Matlab 的单边带调幅电路仿真 姓名: 学号: 班级:电子0902 指导教师:郭峰 起止日期:2012.11.1-2012.12.30 西南科技大学信息工程学院制

专业综合设计任务书学生班级:电子0902 学生姓名:邓彪学号:20095885 设计名称:基于Matlab 的单边带调幅电路仿真 起止日期:2012.11.1-2012.12.30指导教师:郭峰 专业综合设计学生日志

专业综合设计考勤表 专业综合设计评语表

基于Matlab的单边带调幅电路仿真 一、设计目的和意义 1.加深理解模拟线性单边幅度调制(SSB)的原理。 2.熟悉MATLAB相关函数的运用。 3.掌握参数设置方法和性能分析方法。 4.掌握产生单边调幅信号的方法和解调的原理。 5.通过利用MATLAB实现单边调幅信号的调制和解调了解相干解调的重要性。 二、设计原理 1.SSB调制原理 信号的调制主要是在时域上乘上一个频率较高的载波信号,实现频率的搬移,使有用信号容易被传播。单边带调幅信号可以通过双边带调幅后经过滤波器实现。 单边带调幅方式是指仅发送调幅信号上、下边带中的一个信号。 双边带信号两个边带中的任意一个都包含了调制信号频谱的所有频谱成分,因此仅传输其中一个边带即可。这样既节省发送功率,还可节省一半传输频带,这种方式称为单边带调制。 产生单边带调幅信号的方法有:滤波法、相移法。 2. 滤波法 滤波法产生SSB信号的模型如下图所示 图2.1 滤波法调制图 LPF、HPF需要理想的形式 ,但是实际上是做不到的 ,过渡带不可能是0。 因此需要采用多级调制[6]。

Matlab Simulink 仿真步骤

MATLAB基础与应用简明教程 张明等编著 北京航空航天大学出版社(2001.01) MATLAB软件环境是美国New Mexico大学的Cleve Moler博士首创的,全名为MATrix LABoratory(矩阵实验室)。它建立在20世纪七八十年代流行的LINPACK(线性代数计算)和ESPACK(特征值计算)软件包的基础上。LINPACK和ESPACK软件包是从Fortran语言开始编写的,后来改写为C语言,改造过程中较为复杂,使用不便。MA TLAB是随着Windows环境的发展而迅速发展起来的。它充分利用了Windows环境下的交互性、多任务功能语言,使得矩阵计算、数值运算变得极为简单。MA TLAB语言是一种更为抽象的高级计算机语言,既有与C语言等同的一面,又更为接近人的抽象思维,便于学习和编程。同时,它具有很好的开放性,用户可以根据自己的需求,利用MA TLAB提供的基本工具,灵活地编制和开发自己的程序,开创新的应用。 本书重点介绍了MA TLAB的矩阵运算、符号运算、图形功能、控制系统分析与设计、SimuLink仿真等方面的内容。 Chap1 MATLAB入门与基本运算 本章介绍MATLAB的基本概念,包括工作空间;目录、路径和文件的管理方式;帮助和例题演示功能等。重点介绍矩阵、数组和函数的运算规则、命令形式,并列举了可能得到的结果。由于MA TLAB的符号工具箱是一个重要分支,其强大的运算功能在科技领域有特殊的帮助作用。 1.1 MATLAB环境与文件管理 1.2 工作空间与变量管理 1.2.1 建立数据 x1=[0.2 1.11 3]; y1=[1 2 3;4 5 6]建立一维数组x1和二维矩阵y1。分号“;”表示不显示定义的数据。 MATLAB还提供了一些简洁方式,能有规律地产生数组: xx=1:10 %xx从1到10,间隔为1 xx=-2:0.5:1 %xx从-2到1,间隔为0.5 linespace命令等距离产生数组,logspace在对数空间中等距离产生数组。对于这一类命令,只要给出数组的两端数据和维数就可以了。 xx=linespace(d1,d2,n) %表示xx从d1到d2等距离取n个点 xx=logspace(d1,d2,n) %表明xx从10d1到10d2等距离取n个点 1.2.2 who和whos命令 who: 查看工作空间中有哪些变量名 whos: 了解这些变量的具体细节 1.2.3 exist命令 查询当前的工作空间内是否存在一个变量,可以调用exist()函数来完成。 调用格式:i=exist(…A?); 式中,A为要查询的变量名。返回的值i表示A存在的形式: i=1 表示当前工作空间内存在一个变量名为A的矩阵; i=2 表示存在一个名为A.m的文件; i=3 表示MATLAB的工作路径下存在一个名为A.mex的文件;

最新MATLAB应用基础第一章matlab基础

M A T L A B应用基础第一章m a t l a b基础

MATLAB应用 赵国瑞 天津大学电子信息工程学院计算机基础教学部 2000.3 制作

概述 MATLAB是世界流行的优秀科技应用软件之一。具有功能强大(数值计算、符号计算、图形生成、文本处理及多种专业工具箱)、界面友好,可二次开发等特点。 自1984年由美国MathWorks公司推向市场以来,先后发布了多个版本,1993年发布4.0版,1996年发布5.0版,1999年发布5.3版。目前发布的为6.5版。 MATLAB有专业和学生版之分。二者功能相同,但计算规模和计算难度有差别。 在国内外,已有许多高等院校把MATLAB列为本科生、研究生必须掌握的基本技能。我校自1999年列为研究生选修课程。而且有很多教师、研究生把它作为进行科研的重要工具。 国内关于MATLAB的书籍很多,如: 《精通MATLAB 5.3》张志涌等编著北京航空航天大学出版社,2000.8

《科学计算语言MATLAB简明教程》杜藏等编著南开大学出版社,1999.6 《精通MATLAB 5》张宜华编写清华大学出版社,1999.6 《精通MATLAB--综合辅导与指南》 Duane Hanselman、Bruce Littlefield编著李人厚等译较西安交通大学出版社,1998.1 等等 本课程主要介绍MATLAB 5.3的基本功能和基础知识。至于其包含的多种工具箱,如仿真工具箱、解非线性方程(组)工具箱、优化工具箱等,应通过本学习后,结合各专业自己进一步学习和使用。 第1章MATLAB基础 1.1 源文件(M-文件) 分为两类:函数文件和非函数文件。 都用扩展名.M 1.1.1函数文件

matlabsimulink初级教程

S i m u l i n k仿真环境基础学习Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1)在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(SimulinkLibraryBrowser)窗口,如图7.1所示。

图7.1Simulink界面 (2)单击工具栏上的图标或选择菜单“File”——“New”——“Model”,新建一个名为“untitled”的空白模型窗口。 (3)在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。 (4)用鼠标单击所需要的输入信号源模块“SineWave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“SineWave”模块就被添加到untitled窗口;也可以用鼠标选中“SineWave”模块,单击鼠标右键,在快捷菜单中选择“addto'untitled'”命令,就可以将“SineWave”模块添加到untitled窗口,如图7.2所示。

(5) Scope ”模块(示波器)拖放到“untitled ”窗口中。 (6)在“untitled ”窗口中,用鼠标指向“SineWave ”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope ”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7)开始仿真,单击“untitled ”模型窗口中“开始仿真”图标 ,或者选择菜单“Simulink ”——“Start ”,则仿真开始。双击“Scope ” 模块出现示波器显示屏,可以看到黄色的正弦波形。如图7.4所示。 图7.2Simulink 界面

基于Matlab_Simulink的电工学电路仿真

信息科学 基于Matlab/Sim ulink的电工学电路仿真 朱霞清 (山东英才学院机械制造及其自动化工程学院,山东济南250104) 引言 目前,《电工学》课程所涉及的理论和技术应用十分广泛,发展迅速,并且日益渗透到其他学科领域,在我国社会主义现代化建设中具有重要的作用。《电工学》课程是高等学校工程类专业的一门技术基础课程,是我校面向机械制造、电气自动化、计算机信息技术、建筑工程等工科类专业开设的一门技术基础课程。这门课程知识覆盖面广,理论严密,逻辑性强,且有广阔的工程背景,其教学内容中有许多教学难点过于抽象,用传统的教学模式教师无法讲解清楚,学生也难以理解和接受。因此在电工学的教学过程中可以借助其他方式来加强教学效果。Matlab由于其本身具有的特点成为电类课程教学中的一个重要的工具。 1MA IAB简介 M ATLAB是Matrix Laboratory的缩写,其核心是一个基于矩阵运算的快速解释程序,它以交互式接受用户输入的各项指令,输出计算结果,它提供了一个开放式的集成环境,用户可以运行系统提供的大量的命令,包括数值计算和图形绘制等。Simulink是基于M ATLAB语言环境下的一个集成软件包,具有框图界面和交互仿真功能的动态系统建模、仿真和综合分析等功能。Simulink处理的系统包括:线性、非线性系统,离散、连续及混合系统,单任务、多任务离散事件系统,用户只需在Simulink提供的图形用户界面GUI上,对所需要的系统模块进行鼠标的简单拖拉操作,就可构造出复杂的仿真和分析模型。 M ATLAB提供很多工具箱,以MATLAB6.5为例,在电工学CAI中,分析和计算所要用到的Simulink工具库模块库集主要有: (1)Simulink库集;(2)PowerSystems库集(PSB);(3)Extra Simulink库集。 2电工学电路的仿真 2.1直流电路求解 利用Matlab分析电路时,应该首先对电路进行分析,列出电流方程和电压方程,然后将方程用矩阵形式表示,最后用Matlab求解矩阵的方法得到所求电流和电压。 如图所示,已知,,, ,,采用支路电流法列写支路电流方程和回路电压方程。 列出方程为: 上面这个三元一次方程组可以改写为下 面矩阵的形式 定义上面这个方程最左边这个矩阵为系 数矩阵A,第二个矩阵为电流矩阵I,右边这个矩 阵为U,因此可得到A.I=U,所以电流矩阵 I=A-1U。可在matlab窗口键入如下指令: <

MATLAB基础及应用论文

题目 : MATLAB 语言多项式计算的分析与概述 摘要 :数值计算在科学研究与工程应用中有着十分广泛的应用,MATLAB 向我们提供 了标准的多项式的常用函数,包括求根、相乘、相除等。这些功能在进行现代数字信号处理与分析时非常有用。本文主要通过示例的形式分析与概述MATLAB 多项式计算的基本内容。 关键词 : 多项式 ;运算 ; 函数 ; 拟合 ; MATLAB 。 一、 引言 : MATLAB 是由MATH WORKS 公司推出的一种面向科学与工程的计算软件。 如今MATLAB 语言发展速度非常快,涉及十分广阔,本文主要讨论MATLAB 多项式的计 算,可谓MATLAB 的冰山一角。读者若要了解MATLAB 语言的更多知识还应多读多看他人著作。 二、 多项式计算 : 1,多项式的创建方法 : 在MATLAB 里:多项式由一个行向量表示,它的系数是按降序排列。 例如: 由1×N 的向量 表示 多项式,如用poly2sym()可以查看这个多项式。 (1)直接输入法 在MATLAB 命令窗口中直接输入多项式的系数矢量,然后利用转换函数poly2sym 将多项式由系数矢量形式转换为符号新式。 (2)指令P=poly(AR)法 若AR 是方阵,多项式P 是该方阵的特征多项式 若AR=[a 1, a 2,…,a n-1,a n ],则AR 的元素认为是多项式P 的根 如果A 为二维矩阵, poly(A)给出A 的特征多项式。如果A 为一维矩阵, poly(A)表示由A 的元素为多项式的根所确定的多项式。 【例1】产生多项式的方法。 clear %方法一(由多项式的系数确定的多项式) p=[1 -2 3]%直接给出多项式p poly2sym(p)%给出p 多项式的表达式 %方法二(由矩阵所确定的多项式) a=[1 2;-2 4] ] ..[210n a a a a p =n n n n n a x a x a x a P ++++=-- (22110)

光伏发电的MATLAB仿真教程文件

一、实验过程记录 1.画出实验接线图 图1 实验接线图 图2 光伏电池板图3 实验接线实物图 2.实验过程记录与分析 (1)给出实验的详细步骤 ○1实验前根据指导书要求完成预习报告 ○2按预习报告设计的实习步骤,利用MATLAB建立光伏数学模型,如下图4所示。

图4 光伏电池模型其中PV Array模块里子模块如下图5所示。 图5 PV Array模型其中Iph,Uoc,Io,Vt子模块如下图6-9所示。 图6Iph子模块

图7Uoc子模块 图8 Io子模块 图9Vt子模块 ○3在光伏电池建模的基础上,输入实际光伏电池参数值,研究不同光照强度下、不同温度下光伏电池的I-V、P-V特性曲线,并得出结论。 ○4设计光伏电池测试平台,在不同光照、温度情况下测试光伏电池输出电压、输出电流值,对实测数据进行处理并加以分析,记录实际光伏电池的I-V、P-V特性曲线,与仿真结果进行对比,得出有意义的结论。 ○5确定电力变换电路拓扑结构,设计电路中的相关参数值,通过MATLAB搭建电路并仿真分析,搭建电路如图10所示。

图10离网型光伏发电系统 ○6确定系统MPPT控制策略,建立MPPT模块仿真模型,并仿真分析。 系统联调,调节离网型光伏发电系统的电路和控制参数值,仿真并分析最大功率跟踪控制效果。 (2)记录实验数据 表1当T=290K时S=1305W/时的测试数据 表2当T=287K时S=1305W/时的测试数据 表3当T=287K时S=1278W/时的测试数据

二、实验结果处理与分析 1.实验数据的整理和选择 使用MATLAB软件其中的simulink工具进行模型的搭建。再对其进行仿真,得到仿真曲线。使用Excel表格输入实验所测得U、I、P,在对其自动生成I-V,P-V曲线。 2.绘制不同光照强度下、不同温度下光伏电池的I-V、P-V特性曲线; 图11 I-V曲线图12 P-V曲线 当T=290K时S=1305W/时的测拟合曲线 图13 I-V曲线图14 P-V曲线 当T=287K时S=1305W/时的拟合曲线

Matlab仿真实验教程

MATLAB的实验仿真 目录 实验一MATLAB在控制系统模型建立与仿真中的应用 (1) 实验二典型系统的时域响应分析 (13) 实验三线性控制系统的根轨迹与频域分析 (17) 实验四线性系统的校正 (22) 附录一 MATLAB6.5 控制系统工具箱函数和结构化的控制语句 (30) 附录二 SIMULINK 基本模块介绍 (34)

实验一 MATLAB 在控制系统模型建立与仿真中的应用 一、 MATLAB 基本操作与使用 1. 实验目的 1) 掌握MATLAB 仿真软件的安装及启动,熟悉 MATLAB 工作环境平台。 2) MATLAB 命令窗口,包括工具条以及菜单选项的使用;MATLAB 语言的基本规定,包括数值的表示、变量命名规定、基本运算符、预定义变量以及表达式等。 3) MATLAB 图形绘制功能、M 文件程序设计和线性控制系统传递函数模型的建立等。 2. 实验仪器 PC 计算机一台,MATLAB 软件1套 3. 实验内容 1) MATLAB 的启动 这里介绍MATLAB 装入硬盘后,如何创建MATLAB 的工作环境。 方法一 MATLAB 的工作环境由matlab.exe 创建,该程序驻留在文件夹matlab\bin\ 中。它的图标是 matlab 。只要从<我的电脑>或<资源管理器>中去找这个程序,然后双击此图标,就会自动创建如图1所示的MATLAB6.5 版的工作平台 。 图1 在英文Windows 平台上的MATLAB6.5 MATLAB 工作平台 方法二 假如经常使用MATLAB ,则可以在Windows 桌面上创建一个MATLAB 快捷方式图标。具体办法为: 把<我的电脑>中的 matlab 图标用鼠标点亮,然后直接把此图标拖到Windows 桌面上即可。此后,直接双击Windows 桌面上的matlab 图标,就可建立图1所示的 MATLAB 工作平台。 2) MATLAB 工作环境平台 桌面平台是各桌面组件的展示平台,默认设置情况下的桌面平台包括 6 个窗口,具体如下: ① MATLAB 窗口 Command Window

simulink-matlab仿真教程

simulink matlab 仿真环境教程 Simulink 是面向框图的仿真软件。 演示一个Simulink 的简单程序 【例1.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB 的命令窗口运行simulink 命令,或单击工具栏中的图标,就可以打开Simulink 模块库浏览器 (Simulink Library Browser) 窗口,如图1.1所示。 (2) 单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白 模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图1.2 所示。 图7.1 Simulink 界面

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope ”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图1.3所示。 (7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。如图1.4所示。 (8) 保存模型,单击工具栏的图标,将该模型保存为“Ex0701.mdl”文件。 1.2 Simulink的文件操作和模型窗口 1.2.1 Simulink的文件操作 1. 新建文件 新建仿真模型文件有几种操作: ?在MATLAB的命令窗口选择菜单“File”“New”“Model”。 图7.2 Simulink界面 图7.3 Simulink模型窗口 图7.4 示波器窗口

第一章MATLAB基础知识

第一章MATLAB基础知识 1.1 MATLAB开发环境 1.MATLAB操作桌面 MATLAB4.0以上版本都是在Windows以上环境支持下操作与运行的,因此,这里必须假定读者对Windows有一定的了解和掌握。本书以Windows98环境,MATLAB6.5版本为例介绍。书中绝大多数例子在MA TLAB5.3版本中亦能使用. 要想进入MATLAB系统,方法有二: (1)在Windows98的桌面上双击MATLAB快捷图标。 (2)单击Windows98的“开始”按钮,再依次单击:程序/MA TLAB/MA TLAB6.5; 图1-1 MATLAB6.5除保留了传统的命令窗口外,还增加了启动平台窗口、工作空间窗口、命令历史窗口、当前路径窗口等窗口,与新的M文件编辑器和新的在线帮助浏览器等共同构成了MA TLAB6.5的开发环境。 MATLAB的开发环境是MATLAB语言的基础和核心部分,MATLAB语言的全部功能都是在MA TLAB的开发环境中实现的,MA TLAB的仿真工具Simulink、MATLAB

的工具箱等其他附加功能的实现也必须使用MATLAB开发环境,因此,掌握MATLAB 的开发环境是掌握MATLAB语言的关键。 启动MA TLAB后,将显示包括命令窗口、启动平台窗口、工作空间窗口、命令历史窗口和当前路径窗口等5个窗口和主菜单组成的操作桌面(图1-1)。本节对操作桌面的各个窗口作简要介绍,部分窗口的功能和使用将在以后的章节中详细介绍。 操作桌面缺省状态下显示3个窗口,当前路径和工作空间窗口在同一位置显示,可以通过该窗口下方的箭头或窗口标签来切换,命令历史窗口和当前目录窗口在同一位置显示,可以通过该窗口下方窗口标签来切换。每个窗可以脱离操作桌面独立出来。也可以通过菜单View来选择显示哪些窗口。 MATLAB还设定了几种特定的窗口布局方式,在View菜单的Desktop Layout选项中,给定了6种布局方式: Default(缺省方式) Command Window Only(只显示命命令窗口方式) Simple(简单方式,只有命令历史窗口和命令窗口) Short History(低命令历史窗口方式) Tall History(高命令历史窗口方式) Five Panel(5个窗口平铺方式) 2.MATLAB的通用参数设置 MATLAB的通用参数和各功能窗口的参数可以通过主菜单中的file/Preferences项设置,这里先介绍通用参数的设置。 在主菜单中选择Preferences项,打开Preferences窗口(图1-2),缺省状态为通用参数设置,其选项包括: Display(显示选择)Show tooltips(显示相关信息),当单选框选择后,鼠标放在工具栏的快捷按钮上时显示相关信息。 Toolbox caching(工具箱缓冲区)对于远程使用MATLAB的用户,应选择单选框Enable Toolbox caching(打开工具箱缓冲区),建立一个高速缓冲区,以提高使用速度,对单机用户该选项作用不大。 Figure window printing(图形窗口打印)有3个选项,分别为Use printer default(按打印机缺省设置输出)、Always send as black and white(按黑白图形输出)和Always send as color(按彩色图形输出)。

matlab在电气工程中的应用

matlab在电气工程中的应用

MATLAB 在电气中的应用 前言 Malab 的概述 MATLAB 是矩阵实验室(Matrix Laboratory )的简称,和Mathematica 、Ma ple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB 可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。其功能特点如下: ●此高级语言可用于技术计算 ●此开发环境可对代码、文件和数据进行管理 ●交互式工具可以按迭代的方式探查、设计及求解问题 ●数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等 ●二维和三维图形函数可用于可视化数据 ●各种工具可用于构建自定义的图形用户界面 ●各种函数可将基于MATLAB 的算法与外部应用程序和语言(如 C 、C++、Fortran 、Java 、COM 以及 Microsoft Excel )集成 MATLAB 是重要的电气仿真软件,其功能十分强大,可以应用于电力电子、电力拖动控制系统、电力系统等课程中实际问题的仿真。 SIMULINK 基础 1.1 利用积分器实现微分方程求解 实验要求:假设从实际自然界(力学、电学、生态等)或社会中,抽象出有初始状态为0的二阶微分方程 , 是单位阶跃函数。本例演示如何用积分器直接构搭求解该微分方程的模型。二阶微分方程0.20.40.2()x x x u t '''++=,的微分方程的模型如图2所示,经过运行之后可得出仿真结果,如图3所示。

相关主题