文档库 最新最全的文档下载
当前位置:文档库 › 第二章 MATLAB(3)-流程控制语句及函数文件

第二章 MATLAB(3)-流程控制语句及函数文件

第二章 MATLAB(3)-流程控制语句及函数文件
第二章 MATLAB(3)-流程控制语句及函数文件

第二章MATLAB上机练习题目

(3)流程控制与函数文件

一、答卷形式:新建一个word文档,将以下每道练习题使用的命令(或程

序)及其运行结果按顺序排列在该word文档中,文档中必须写上自己的名字和学号,并以自己的名字命名,最后提交该word文档。

二、练习题目:

1、编写一个函数文件计算三角形的面积,要求函数的输入为三角形三边的

边长,输出为三角形的面积。(注:利用公式s=,其中()/2

=++),该函数的文件名取为Triagle_Area_XXXX(注:

p a b c

其中XXXX为你学号的后四位),将该文件存盘,并将函数程序的全部语句粘贴在提交的word文档中。

2、生成三个随机数,分别记为a、b和t,令c=a+b+t,以a、b、c为三

角形三边的边长,根据三个边长的值判断该三角形的类型(钝角、锐角、还是直角三角形),并调用第1题中编写的函数计算该三角形的面积。3、编写一个脚本文件,要求计算出一个最小的正整数,使它的阶乘大于

20000.

4、西安市出租车费用的计算与车型、租车时间以及运营公里数都有关系,

具体规定如下:

(1)捷达、比亚迪车型起步价每天7:00-23:00之间,起步价为6元/2公里,不足2公里按6元计,2公里与7公里之间为1.5元/公里;超过7公

里时,超过部分每公里加收20%的返程费。23:00-次日7:00之间起步

价为8元/2公里,不足2公里按8元计,2公里与7公里之间为2元

/公里;超过7公里时,超过部分每公里加收20%的返程费。

(2)红旗和桑塔纳2000车型起步价每天7:00-23:00之间,起步价为8元/2公里,不足2公里按8元计,2公里与7公里之间为2元/公里;超

过7公里时,超过部分每公里加收20%的返程费。23:00-次日7:00

之间起步价为10元/2公里,不足2公里按10元计,2公里与7公里

之间为3元/公里;超过7公里时,超过部分每公里加收20%的返程

费。

试编写一个计算出租车乘车费用的函数,要求输入为:车型(可以用数字或字符表示)、乘车起止时间(24小时制)、以及运营公里数,输出为乘车费用。并利用该函数分别计算如下几种情况的乘车费用:

(1)14:00-15:00乘坐比亚迪出租车,运营30公里;

(2)22:00-22:20乘坐红旗出租车,运营8公里;

(3)22:45:-23:00乘坐比亚迪出租车,运营2公里,23:00-23:45乘坐该车又运营了9公里。

5、 编写一个函数文件,要求它能判断平面上两条直线的位置关系(平行或

相交),并且如果相交求出交点坐标,随机生成两条平面的方程分别为:

1110a x b y c ++=和2220a x b y c ++=,其中111

22,,,,a b c a b c 和都是你利用MATLAB 生成的随机数。利用你编写的函数,求出它们的位置关系及交点坐标(如果相交的情况下)。

matlab代码大全

MATLAB主要命令汇总 MATLAB函数参考 附录1.1 管理用命令 函数名功能描述函数名功能描述 addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo 运行Matlab演示程序 type 列出.M文件 doc 装入超文本文档 version 显示Matlab的版本号 help 启动联机帮助 what 列出当前目录下的有关文件 lasterr 显示最后一条信息 whatsnew 显示Matlab的新特性 lookfor 搜索关键词的帮助 which 造出函数与文件所在的目录 path 设置或查询Matlab路径 附录1.2管理变量与工作空间用命令 函数名功能描述函数名功能描述 clear 删除内存中的变量与函数 pack 整理工作空间内存 disp 显示矩阵与文本 save 将工作空间中的变量存盘 length 查询向量的维数 size 查询矩阵的维数 load 从文件中装入数据 who,whos 列出工作空间中的变量名 附录1.3文件与操作系统处理命令 函数名功能描述函数名功能描述 cd 改变当前工作目录 edit 编辑.M文件 delete 删除文件 matlabroot 获得Matlab的安装根目录 diary 将Matlab运行命令存盘 tempdir 获得系统的缓存目录 dir 列出当前目录的内容 tempname 获得一个缓存(temp)文件 ! 执行操作系统命令 附录1.4窗口控制命令 函数名功能描述函数名功能描述 echo 显示文件中的Matlab中的命令 more 控制命令窗口的输出页面format 设置输出格式 附录1.5启动与退出命令 函数名功能描述函数名功能描述 matlabrc 启动主程序 quit 退出Matlab环境 startup Matlab自启动程序 附录2 运算符号与特殊字符附录 2.1运算符号与特殊字符 函数名功能描述函数名功能描述

基于Matlab的自动控制系统设计与校正

自动控制原理课程设计设计题目:基于Matlab的自动控制系统设计与校正

目录 第一章课程设计内容与要求分析.................................................... 错误!未定义书签。 1.1设计内容 (1) 1.2 设计要求 (1) 1.3 Matlab软件 (2) 1.3.1基本功能 (2) 1.3.2应用 (2) 第二章控制系统程序设计 (4) 2.1 校正装置计算方法 (4) 2.2 课程设计要求计算 (4) 第三章利用Matlab仿真软件进行辅助分析 (6) 3.1校正系统的传递函数 (6) 3.2用Matlab仿真 (6) 3.3利用Matlab/Simulink求系统单位阶跃响应 (8) 3.2.1原系统单位阶跃响应 (8) 3.2.2校正后系统单位阶跃响应 (8) 3.2.3校正前、后系统单位阶跃响应比较 (8) 3.4硬件设计 (8) 3.4.1在计算机上运行出硬件仿真波形图 (9) 课程设计心得体会 (10) 参考文献 (12)

1 第一章 课程设计内容与要求分析 1.1设计内容 针对二阶系统 )1()(+= s s K s W , 利用有源串联超前校正网络(如图所示)进行系统校正。当开关S 接通时为超前校正装置,其传递函数 11 )(++-=Ts Ts K s W c c α, 其中 1 3 2R R R K c += , 1 ) (13243 2>++ =αR R R R R ,C R T 4=, “-”号表示反向输入端。若Kc=1,且开关S 断开,该装置相当于一个放大系数为1的放大器(对原系统没有校正作用)。 1.2 设计要求 1 1.0)(≤∞e ,开环截止频率ω’≥45°; 2 3) 4)设校正装置网络元件参数R4、5R=100K ,C=1μF 、10μF 若干个); 6)利用Matlab 仿真软件辅助分析,绘制校正前、后及校正装置对数频率特性曲线,并验算设计结果; 7)在Matlab-Simulink 下建立系统仿真模型,求校正前、后系 统单位阶跃响应特性,并进行系统性能比较; 8)利用自动控制原理实验箱完成硬件设计过程,包括:搭建校正前后 c R R

matlab循环语句

matlab 基本语句 1.循环语句for for i=s1:s3:s2 循环语句组 end 解释:首先给i赋值s1;然后,判断i是否介于s1与s2之间;如果是,则执行循环语句组,i=i+s3(否则,退出循环.);执行完毕后,继续下一次循环。 例:求1到100的和,可以编程如下: sum=0 for i=1:1:100 sum=sum+i end 这个程序也可以用while语句编程。 注:for循环可以通过break语句结束整个for循环. 2.循环语句while 例:sum=0;i=1; while(i<=100) sum=sum+i;i=i+1; end 3.if语句 if(条件) 语句 end if(条件) 语句 else 语句 end if(条件) 语句 elseif 语句 end 4.关系表达式:

=,>,<,>=,<=,==(精确等于) 5.逻辑表达式:|(或),&(且) 6.[n,m]=size(A)(A为矩阵) 这样可以得到矩阵A的行和列数 n=length(A),可以得到向量A的分量个数;如果是矩阵,则得到矩阵A的行与列数这两个数字中的最大值。 7.!后面接Dos命令可以调用运行一个dos程序。 8.常见函数: poly():为求矩阵的特征多项式的函数,得到的为特征多项式的各个系数。如 a=[1,0,0;0,2,0;0,0,3],则poly(a)=1 -6 11 -6。相当于poly(a)=1入^3+(-6)入^2+11入+(-6)。 compan():可以求矩阵的伴随矩阵. sin()等三角函数。 MATLAB在数学建模中的应用(3) 一、程序设计概述 MATLAB所提供的程序设计语言是一种被称为第四代编程语言的高级程序设计语言,其程序简洁,可读性很强,容易调试。同时,MATLAB的编程效率比C/C++语言要高得多。 MATLAB编程环境有很多。常用的有: 1.命令窗口 2.word窗口 3.M-文件编辑器,这是最好的编程环境。 M-文件的扩展名为“.m”。M-文件的格式分为两种: ①λ M-脚本文件,也可称为“命令文件”。 ② M-函数文件。这是matlab程序设计的主流。λ 保存后的文件可以随时调用。 二、MATLAB程序结构 按照现代程序设计的观点,任何算法功能都可以通过三种基本程序结构来实现,这三种结构是:顺序结构、选择结构和循环结构。其中顺序结构是最基本的结构,它依照语句的自然顺序逐条地执行程序的各条语句。如果要根据输入数据的实际情况进行逻辑判断,对不同的结果进行不同的处理,可以使用选择结构。如果需要反复执行某些程序段落,可以使用循环结构。 1 顺序结构 顺序结构是由两个程序模块串接构成。一个程序模块是完成一项独立功能的逻辑单元,它可以是一段程序、一个函数,或者是一条语句。 看图可知,在顺序结构中,这两个程序模块是顺序执行的,即先执行<程序

自动控制matlab报告

自动控制原理实验报告 ——控制系统的阶跃响应 09021209 侯竟骁 一、实验目的 1、观察学习控制系统的单位阶跃响应; 2、记录单位阶跃响应曲线; 3、掌握时间响应分析的一般方法。 二、实验步骤 1、开机执行程序 c:\ml\bin\matlab-s.exe (用鼠标双击图标)进入MATLAB 命令窗口:“Command Windows ”。 2、建立系统模型 在MATLAB 命令窗口上,以立即命令方式建立系统的传递函数。在MATLAB 下,系统传递函数有三种描述方式,在实验中只用到多项式模型和零点极点模型 多项式模型 ) ()()(s s s den num G = 式中“num(s)”表示分子多项式的系数,“den(s)”表示分母多项式的系数,全部按照复自变量s 的降幂排列,以行向量的方式输入。例如,程序为 num=[0 1 3]; 分子多项式系数 den=[1 2 2 1]; 分母多项式系数 printsys(num,den); 构造传递函数G(s)并显示 零点极点模型 ∏ ∏--= n i m j s s s ) () ()(p z k G 式中,k 为增益值,z j 为第j 个零点值,p i 为第i 个零点值。例如,程序为 k=2; 赋增益值,标量 z=[1]; 赋零点值,向量 p=[-1 2 -3]; 赋极点值,向量 [num,den]=zp2tf(z,p,k); 零点极点模型转换成多项式模型 printsys(num,den); 构造传递函数G(s)并显示 给定系统传递函数)(s G 的多项式模型,求系统的单位脉冲响应。传递函数为

) ()()(s s s den num G = 式中,num (s)为系统传递函数)(s G 的分子多项式系数向量,den (s)为系统传递函数)(s G 的分母多项式系数向量。 函数格式1:给定num 、den 求系统的阶跃响应。时间向量t 的范围自动设定。 函数格式2:时间向量t 的范围可以由人工给定。(t=0:0.1:10) 函数格式3:返回变量格式。计算所得的输出y 、状态x 及时间向量t 返回至MATLAB 命令窗口,不作图。更详细的命令说明,可键入“help step ”在线帮助查阅。 例如 4 4)(2 ++= s s s G MATLAB 程序 num=[4]; den=[1 1 4]; step(num,den); 响应曲线如图所示。 给定特征多项式系数向量,计算系统的闭环根、阻尼比、无阻尼振荡频率。 三、实验内容 1、二阶系统为10 210)(2 1++= s s s G (a )键入程序,观察、记录阶跃响应曲线。 (b )键入damp(den)计算系统的闭环根、阻尼比、无阻尼振荡频率,并作记录。

MATLAB绘图常用示例语句

MATLAB绘图常用示例语句 clear;%初始化数据 clc;%清屏 close all;%关闭所有绘图 x=[]; y=[]; plot(x,y,'k.');%绘制曲线,单引号内为线型与颜色 plot(x1,y1,'k+-',x2,y2,'k--',x3,y3,'k-.','linewidth',2.5);%在一幅图上同时绘制多条曲线,及线宽设置 %字母颜色标点线型 % y 黄色? 点线 % m 粉红○圈线 % c 亮蓝××线 % r 大红++字线 % g 绿色-实线 % b 蓝色* 星形线 % w 白色:虚线 % k 黑色(--) 点划线 xlabel('频率(Hz)');%横坐标说明 ylabel('流量(L/min)');%纵坐标说明 title('');%图形标题 legend('','','');%线型说明

axis([xmin xmax ymin ymax])%设置x轴,y轴范围 grid on;%网格 hold on;%在原图上继续绘图 figure;%重新生成新的绘图 fid1=fopen('F:\实验数据\D6_100V_1Hz_2.txt','r'); %读取.txt 数据 title1=fgetl(fid1); title2=fgetl(fid1); title3=fgetl(fid1); title4=fgetl(fid1);%去除txt文件中的前四行 fz=50000;%设置采样频率 dianshu=200000;%所取点数 [A,N]=fscanf(fid1,'%f',[2,dianshu+100]);%从文件中读出数据[数据数组,总数据个数](数据存放变量,'数据类型',[列数,行数]) x=A(1,1:dianshu);%读取数据第1列 x1=x';%行列向量转置 y=A(2,1:dianshu);%读取数据第二列 %以下为滤波程序(主要调节参数c的大小) c=100; wn=0.1; fs=50000; %采样频率;

MATLAB之变量、函数及常用语句

1、变量命名规则: 变量名的第一个字符必须是英文字母,最多包含31个字符(包括英文字母、数字和下画线),变量中不得包含空格和标点符号,不得包含加减号。变量名和函数区别字母的大小写,如matrix和Matrix表示两个不同的变量。要防止它与系统的预定义变量名(如i,j,pi,eps等)、函数名(如who,length等)、保留字(如for,if,while,end等)冲突。变量赋值用“=”(赋值号)。 有一些变量永久驻留在工作内存中,不能再重新赋值。这些变量见下表 2、基本初等函数 3、几个常用的函数

real(z) 取复数z的实部 image(z) 取复数z的虚部 angle(z) 取复数z的辐角 conj(z) 取复数z的共轭 mod(m,n) 输出m除以n的余数 4、数据文件的存储和调用 在清除变量或退出MATLAB后,变量不复存在。为了保存变量的值,可以把它们存储在数据文件中。例如,在指令窗口中输入>>clear;x=pi/3;a=sin(x);b= cos(x);c=2*a+b执行以后,在File菜单中选Save Workspace As 存入数据文件(例如abc.mat)。则在以后的操作中可以调用这个数据文件。只要在File菜单中点Open操作,就可以打开这个文件。 4.1)M文件 在进行复杂运算时,在指令窗口高度程序或修改指令是不方便的,因此需要从指令窗口工具栏的新建按钮或选择菜单File:New:M-Fil进入MATLAB的程序编辑器窗口,以编写自己的M文件。 M文件有二类:M脚本文件和M函数文件。 将多条MATLAB语句写在编辑器中,以扩展名为m的文件保存在某一目录中,就得到一个脚本文件。例如在M文件编辑器中输入 clear;n=1:100;s=sum%sum是求和命令(如下图),然后单击工具栏中的保存按钮,保存中选择Debug:run菜单,则会在指令窗口输出:s=5050 *注:文件名与变量名的命名规则相同,M文件一般用小写字母。尽管MATLA B区分变量名的大小写,但不区分文件名的大小写。 M 脚本文件没有参数传递功能,但M函数文件有些功能,所以M函数文件用得更为广泛。M函数文件的格式有严格规定,它必须以“ function ”开头,其格式如下: Function 输出变量=函数名称(输入变量) 语句; 因为M函数必须给输入参数赋值,所以编写M函数必须在编辑器窗口中进行,而执行M函数要在指令窗口,并给输入参数赋值。M函数不能像M脚本文件那样在编辑器窗口通过Debug:run 菜单执行。M函数可以被其它M函数文件或M脚本

Matlab语言学习知识基础学习知识

一、Matlab的变量与常量 Matlab中变量和常量存储都是相应的数据。 数据类型:基本类型、构造类型、符号对象 基本类型:数字型、字符串型 数字型:整型、浮点型 整形:无符号、有符号(int8、int16、int32、int64 1位、2位、4位、8位)浮点型:单精度(32位)、双精度(64位) 基本类型:数组类型(常见)、细胞类型、结构类型、类类型 符号对象(比较少见) 变量:在运算过程中其数值可以改变的量; 常量:在运算过程中其数值不改变的量。 变量命名规则: 变数名称是由一个字母开头,其后可以有任意数量的字母、数字或下划线。在变量命名时尽量使用小写字母,名字要有实在的意义,不要和系统保留的关键字(常量)和函数名相同的名字,容易出错。 MATLAB是区分大小写的,变量名可以是任意长度。 Matlab语言是一种弱类型语言,C语言是强类型语言,变量在复制之前要对它的类型进行严格的申明,不同就会出错,而matlab不需要事先申明。 变量初始化: 1、采用赋值语句初始化变量; 2、用input函数从键盘输入初始化变量,如下: 3、matlab已经定义好了的一些常量: I、j虚数;Inf无穷大;NaN不定式;pi圆周率;ans特殊的变量。 二、matlab的基本数据结构 标量、向量、数组、矩阵的概念:标量、向量、数组本质上是特殊的矩阵形式;matlab 常用的是二维矩阵;标量1*1的矩阵;向量可以看成是1行或者1列的矩阵;向量是数学中的说法,数组是matlab语言中的说法,但向量和数组在这里指的是同一种数据结构,可以

互用。 手动生成矩阵: 行矩阵:a = [1 2 3] 列矩阵:b = [1 2 3]’或 b = [1;2;3] 2*2矩阵:c = [1 2;3 4] 使用内置函数生成矩阵:常用的有 o nes,eye,zeros,size,length. 利用冒号表达式生成矩阵: 冒号:用来生成向量,定义数组下标,数组的循环迭代。 生成航向量: 生成列相量:

基于Matlab的控制系统Bode图超前校正设计

《自动控制系统》课程设计基于Matlab控制系统的Bode图超前校正设计 2O11 年11月 12日

摘要:串联超前校正,是在频域内进行的系统设计,是一种间接地设计方法。因为设计结果满足的是一些频域指标,而不是时域指标,然而,在频域内进行设计,又是一种简便的方法,在伯德图的虽然不能严格地给出系统的动态系能,但却方便地根基频域指标确定校正参数,特别是对已校正系统的高频特性有要求时,采用频域法校正较其他方法更为简便。

目录 一、设计的要求 (4) 二设计意义 (4) 三、设计思路 (4) 四、参数的计算 (6) 参考文献 (13)

) 101.0)(11.0(1 )(++=s s s k s G 一、设计的要求 试用 Bode 图设计方法对系统进行超前串联校正设计,要求: (1)在斜坡信号 r (t ) = v t 作用下,系统的稳态误差 ess ≤ 0.01v0; (2)系统校正后,相角稳定裕度 γ 满足 : 48deg ≤ γ; (3)剪切频率 ωc ≥ 170rad/s 。 二设计意义 对于一个控制系统来说,如果它的元部件及其参数已经给定,就要分析它是否能满足所要求的各项性能指标。一般把解决这类问题的过程称为系统的分析。在实际工程控制问题中,还有另一类问题需要考虑,即往往事先确定了满足的性能指标,让我们设计一个系统并选择适当的参数来满足性能指标要求;或考虑对原已选定的系统增加某些必要的原件或环节,使系统能够全面的满足所要求的性能指标。利用超前网络或PD 控制器进行串联校正的基本原理,是利用超前网络或PD 控制器的相角超前特性。只要正确的将超前网络的交接频率1/aT 和1/T 选在待校正系统截止频率的两旁,并适当选择参数a 和T ,就可以使已校正系统的截止频率和相角裕度满足性能指标的要求,从而改善闭环系统的动态性能。 三、设计思路 。 1.根据稳态误差要求,确定开环增益K 。 2.根据已确定的开环增益K ,绘制原系统的对数频率特性曲线0()L ω、()o ?ω,计算其稳定裕度o γ、0g L 。 3.确定校正后系统的截止频率'c ω和网络的a 值。 ①若事先已对校正后系统的截止频率'c ω提出要求,则可按要求值选定'c ω。

常用matlab语句

1、将txt文件数据导入matlab里面: textread('D:\MATLAB7\work\a.txt')或者用load('D:\MATLAB7\work\a.txt') 2、将excel文件数据导入matlab里面: x=xlsread('a.xls','sheet1','a1:a10') //excel文件名是a.xls,sheet1是表名,a1:a10是a列的1到10行 3、将向量坐标在matlab里作图: x=xlsread('C:\Documents and Settings\Administrator\桌面\school\GIS\新建Microsoft Excel 工作表.xls',1,'A1:a1000'); y=xlsread('C:\Documents and Settings\Administrator\桌面\school\GIS\新建Microsoft Excel 工作表.xls',1,'b1:b1000'); plot(x,y); //若要在同一图中作多个图,需成对用‘,’隔开即可plot(x,y1,x,y2) title('函数图像');%设置图像标题 xlabel('X坐标');%设置图像X坐标名称 ylabel('Y坐标');%设置图像Y坐标名称 4、在matlab中寻找 自己想找的函数: help(确定的情况下) 和lookfor(在不确定 函数名的情况下,如 下图) (注:help命令比 lookfor要快得多) 5、搜索函数文件:>> which cross D:\MATLAB7\toolbox\MATLAB\specfun\cross.m 6、关键字input用来提示直接从键盘输入初始化变量。 x=input('enter am input date:','s') //s表示以字符串形式输入,无需是省

MATLAB中常用的工具箱

6.1.1MA TLAB中常用的工具箱 MA TLAB中常用的工具箱有: Matlab main toolbox——matlab主工具箱 Control system toolbox——控制系统工具箱Communication toolbox——通信工具箱 Financial toolbox——财政金融工具箱 System identification toolbox——系统辨识工具箱 Fuzzy logic toolbox ——模糊逻辑工具箱 Higher-order spectral analysis toolbox——高阶谱分析工具箱Image processing toolbox——图像处理工具箱 Lmi contral toolbox——线性矩阵不等式工具箱 Model predictive contral toolbox——模型预测控制工具箱 U-Analysis ang sysnthesis toolbox——u分析工具箱 Neural network toolbox——神经网络工具箱 Optimization toolbox——优化工具箱 Partial differential toolbox——偏微分奉承工具箱 Robust contral toolbox——鲁棒控制工具箱 Spline toolbox——样条工具箱 Signal processing toolbox——信号处理工具箱 Statisticst toolbox——符号数学工具箱 Symulink toolbox——动态仿真工具箱 System identification toolbox——系统辨识工具箱 Wavele toolbox——小波工具箱 6.2优化工具箱中的函数 1、最小化函数 2、最小二乘问题 3、方程求解函数

自动控制常见MATLAB函数的应用

自动控制常见MATLAB 函数的应用 1、在matlab 中采用roots 函数求解多项式的根,采用conv 函数实 现多项式的积,相互连接的模块的模型求解也相当简单(1)、串联连接命令G=G1*G2(2)、并联连接命令G=G 1±G2(3)、反馈连接命令G=feedback (G1,G2,Sign )(sign 用来表示系统是正反馈或负反馈,sign=-1为负反馈) 例如:① 程序如下: >>p=[1304]; >>roots(p) ans = -3.3553 0.1777+1.0773i 0.1777-1.0773i ②、用matlab 实现: 程序如下: >>p=[321];q=[14]; >>n=conv(p,q) n = 31494③、一个传递函数模型,可以由下面的命令输入:32()34p s s s =++2 ()(321)(4)n s s s s =+++325()345 s G s s s s +=+++

>>num=[15];den=[1345]; >>G=tf(num,den) Transfer function: s +5 --------------------- s^3+3s^2+4s +5 ④、如下图所示,前向传递函数为G (S ) ,反馈回路传递函数为H(S),利用feedback 计算系统的闭环传递函数 程序如下: >>numg=[1];deng=[50000]; >>numh=[11];denh=[12]; >>[num,den]=feedback(numg,deng,numb,denh,-1); >>[num,den]=feedback(numg,deng,numh,denh,-1); >>G=tf(num,den) () R S ???→

(完整版)matlab基本语句

第2章M ATLAB程序设计 MATLAB语言为解释型程序设计语言。在程序中可以出现顺序、选择、循环三种基本控制结构,也可以出现对M-文件的调用(相当于对外部过程的调用)。 由于 MATLAB开始是用FORTRAN语言编写、后来用 C语言重写的,故其既有FORTRAN的特征,又在许多语言规则方面与C语言相同。 2.1 顺序结构语句 在顺序结构语句中,包括表达式语句、赋值语句、输入输出语句、空语句等。

2.1.1 表达式语句 格式: 表达式,%显示表达式值 表达式;%不显示表达式值 表达式%显示表达式值 如: x + y, sin(x); –5 最后的表达式值暂保存在变量ans中。 2.1.2 赋值语句 格式: v =表达式,%结果送v并显示v v =表达式;%结果送v不显示v v =表达式%结果送v并显示v 2.1.3 空语句 格式: , ; 2.1.4 输入语句

1、input语句(实际上是函数) 格式1: input(提示字符串) 功能: 显示提示字符串,可输入数字、字符串(两端用单引号括起)、或表达式 格式2: input(提示字符串,'s') 功能: 显示提示字符串,并把输入视为字符串 2、yesinput语句 格式: yesinput(提示字符串,缺省值,值范围) 功能: 显示提示字符串和缺省值,若只打入回车则以缺省值作为输入值,若输入的值不在指定范围内则认为输入无效,B并等待用户重新输入。 如: t=yesinput('指定线的颜色',… 'red','red|blue|green') 运行结果如下: 指定线的颜色(red):yellow %不在值内

matlab基础语句句法和举例

roots Syntax Descriptionr = roots(c) returns a column vector whose elements are the roots of the polynomial c. Row vector c contains the coefficients of a polynomial, ordered in descending powers. If c has n+1 components, the polynomial it represents is c1x n+c2x (n-1)+…+c n-1+1. >> c=[ 1 2 3] c = 1 2 3 >> roots(c) ans = -1.0000 + 1.4142i -1.0000 - 1.4142i exp exp Exponential SyntaxY = exp(X) DescriptionThe exp function is an elementary function that operates element-wise on arrays. Its domain includes complex numbers. Y = exp(X) returns the exponential for each element of X log %(注意MA TLAB里log是ln的意思) log Natural logarithm SyntaxY = log(X) DescriptionThe log function operates element-wise on arrays. Its domain includes complex and negative numbers, which may lead to unexpected results if used unintentionally. Y = log(X) returns the natural logarithm of the elements of X. >> exp(log(1)) ans = 1

matlab基本语句

matlab基本语句 1。循环语句for?for i=s1:s3:s2 循环语句组?end?解释:首先给i赋值s1;然后,判断i就是否介于s1与s2之间;如果就是,则执行循环语句组,i=i+s3(否则,退出循环.);执行完毕后,继续下一次循环。 例:求1到100得与,可以编程如下: sum=0?for i=1:1:100 sum=sum+i end?这个程序也可以用while语句编程。 注:for循环可以通过break语句结束整个for循环。2??。循环语句while 例:sum=0;i=1; while(i〈=100)?sum=sum+i;i=i+1; end 3。if语句?if(条件)?语句 end? if(条件)?语句?else?语句?end ?if(条件) 语句 elseif?语句?end?? 4.关系表达式: =,>,〈,>=,<=,==(精确等于)5?。逻辑表达式:|(或),&(且)??6。[n,m]=size(A)(A 为矩阵)?这样可以得到矩阵A得行与列数?n=length(A),可以得到向量A得分量个数;如果就是矩阵,则得到矩阵A得行与列数这两个数字中得最大值、 ?7、!后面接Dos命令可以调用运行一个dos程序、 8.常见函数: poly():为求矩阵得特征多项式得函数,得到得为特征多项式得各个系数。如a=[1,0,0;0,2,0;0,0,3],则poly(a)=1-6 11 -6。相当于poly(a)=1入^3+(-6)入^2+11入+(—6)。?pan():可以求矩阵得伴随矩阵、?sin()等三角函数。 MATLAB在数学建模中得应用(3)? 一、程序设计概述?MATLAB所提供得程序设计语言就是一种被称为第四代编程语言得高级程序设计语言,其程序简洁,可读性很强,容易调试、同时,MATLAB得编程效率比C/C ++语言要高得多、 MATLAB编程环境有很多、常用得有: 1. 命令窗口? 2. word窗口 3、M-文件编辑器,这就是最好得编程环境。 M—文件得扩展名为“。m”。M-文件得格式分为两种:?①l M-脚本文件,也可称为“命令文件”。?②M-函数文件、这就是matlab程序设计得主流。l?保存后得文件可以随时调用、?二、MATLAB程序结构?按照现代程序设计得观点,任何算法功能都可以通过三种基本程序结构来实现,这三种结构就是:顺序结构、选择结构与循环

最新Matlab中常见数学函数的使用

给自己看的----Matlab的内部常数(转) 2008/06/19 14:01[Ctrl C/V--学校 ] MATLAB基本知识 Matlab的内部常数 pi 圆周率 exp(1) 自然对数的底数e i 或j 虚数单位 Inf或inf 无穷大 Matlab的常用内部数学函数

如何用matlab进行多项式运算 (1)合并同类项 syms 表达式中包含的变量 collect(表达式,指定的变量) (2)因式分解 syms 表达式中包含的变量factor(表达式) (3)展开 syms 表达式中包含的变量 expand(表达式) 我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: maple(’maple中多项式的运算命令’) 如何用matlab进行分式运算 发现matlab只有一条处理分式问题的命令,其使用格式如下: [n,d]=numden(f)把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 不过我们可以调用maple的命令,调用方法如下: maple(’denom(f)’)提取分式f的分母 maple(’numer(f)’)提取分式f的分子 maple(’normal(f)’ ) 把分式f的分子与分母约分成最简形式 maple(’expand(f)’) 把分式f的分子展开,分母不变且被看成单项。 maple(’factor(f)’) 把分式f的分母和分子因式分解,并进行约分。 如何用Matlab进行因式分解 syms 表达式中包含的变量factor(表达式) 如何用Matlab展开 syms 表达式中包含的变量expand(表达式) 如何用Matlab进行化简 syms 表达式中包含的变量simplify(表达式) 如何用Matlab合并同类项 syms 表达式中包含的变量collect(表达式,指定的变量) 如何用Matlab进行数学式的转换 调用Maple中数学式的转换命令,调用格式如下: maple(‘Maple的数学式转换命令’) 即:maple(‘convert(表达式,form)’)将表达式转换成form的表示方式 maple(‘convert(表达式,form, x)’)指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 如何用Matlab进行变量替换 syms 表达式和代换式中包含的所有变量subs(表达式,要替换的变量或式子,代换式) 如何用matlab进行复数运算 a+b*i 或 a +b*j表示复数a+bi 或a+bj real(z)求复数z的实部 imag(z)求复数z的虚部 abs(z)求复数z的模 angle(z)求复数z的辐角, conj(z)求复数z的共轭复数 exp(z)复数的指数函数,表示e^z 如何在matlab中表示集合 [a, b, c,…] 表示由a, b, c,…组成的集合(注意:元素之间也可用空格隔开) unique(A) 表示集合A的最小等效集合(每个元素只出现一次) 也可调用maple的命令,格式如下: maple('{a, b, c,…}')表示由a, b, c,…组成的集合 下列命令可以生成特殊的集合: maple(‘{seq(f(i),i=n..m)}’)生成集合{f(n), f(n+1), f(n+2), … , f(m)} 如何用Matlab求集合的交集、并集、差集和补集

自动控制MATLAB仿真作业

XXXXXXX 大学 《自动控制原理》MATLAB分析与设计 仿真实验报告 院系:电气工程与信息工程学院 班级: 姓名: 学号: 时间:20 年月日 电气工程与信息工程学院

《自动控制原理》MATLAB 分析与设计仿真实验任务书(2013) 一、仿真实验内容及要求 1.MATLAB 软件 要求学生通过课余时间自学掌握MA TLAB 软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MA TLAB 仿真集成环境Simulink 的使用。 2.各章节实验内容及要求 1)第三章 线性系统的时域分析法 ? 对教材P136.3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比 较,分析仿真结果; ? 对教材P136.3-9系统的动态性能及稳态性能通过的仿真进行分析,说明不同控制器 的作用; ? 在MATLAB 环境下完成英文讲义P153.E3.3。 ? 对英文讲义中的循序渐进实例“Disk Drive Read System”,在100=a K 时,试采用 微分反馈使系统性能满足%5%,σ<3250,510s ss t ms d -≤

matlab常见操作123

1.示波器图像导出处理 1)仿真用示波器查看 2)matlab命令框中输入: shh = get(0,'ShowHiddenHandles'); set(0,'ShowHiddenHandles','On') set(gcf,'menubar','figure') set(gcf,'CloseRequestFcn','closereq') set(gcf,'DefaultLineClipping','Off') set(0,'ShowHiddenHandles',shh) 图片的菜单就出来了。。。 3)在edit菜单中编辑波形 4)edit-copy figure复制波形到word文档。 2.在matlab命令窗口里,在语句行尾加上三个英文句号表示续行; 运算符=、+、-前后的空格不影响计算结果; 在输入命令后以分号结束,则不会显示命令执行结果,但可使程序运行速度大大提高,这对大量输出数据的成句特别有用; 可用Ctrl+c键来终止正在运行的程序。 3.启动matlab默认窗口设置 Desktop Layout—>Default,则四个小窗口则按系统默认的布局显示。 Save Layout保存布局显示 4.运行matlab语句或程序时有三种方式: 1)在已安装的Notebook 的Word窗口的英语输入状态下,输入matlab语句或程序,用鼠标左键将其选中,然后点击Notebook——>Evaluate Cell,即为程序的Notebook执行方式。计算的数据与绘图都保留在word环境里。 2)在matlab命令窗口中直接输入指令或语句并按回车键运行。 3)程序文件执行方式:在“Untitled”模型文件窗口中输入程序并以某文件名存盘,然后在matlab命令窗口中输入改文件名,按回车执行该程序。计算的数据保存在matlab的命令窗口中,如有绘图,则另弹出figure画面。常用在程序中有带鼠标操作或绘制多条曲线或使用人机交互指令时。 4.在命令窗口输入命令语句时,若语句后不跟分号,按回车后则执行该条语句并且显示结果;若跟分号后按回车键,则只执行语句不显示执行后结果。 5.在命令窗口输入clear或clc按回车键则清除前面所有命令,对于matlab(R2009a)则输入clc.

matlab常见操作123

1.示波器图像导出处理1)仿真用示波器查看2)matlab命令框中输入:shh = get(0,'ShowHiddenHandles'); set(0,'ShowHiddenHandles','On') set(gcf,'menubar','figure') set(gcf,'CloseRequestFcn','closereq') set(gcf,'DefaultLineClipping','Off') set(0,'ShowHiddenHandles',shh) 图片的菜单就出来了。。。3)在edit菜单中编辑波形4)edit-copy figure复制波形到word文档。 2.在matlab命令窗口里,在语句行尾加上三个英文句号表示续行;运算符=、+、-前后的空格不影响计算结果;在输入命令后以分号结束,则不会显示命令执行结果,但可使程序运行速度大大提高,这对大量输出数据的成句特别有用;可用Ctrl+c键来终止正在运行的程序。 3.启动matlab默认窗口设置Desktop Layout—>Default,则四个小窗口则按系统默认的布局显示。Save Layout保存布局显示 4.运行matlab语句或程序时有三种方式:1)在已安装的Notebook 的Word窗口的英语输入状态下,输入matlab语句或程序,用鼠标左键将其选中,然后点击Notebook——>Evaluate Cell,即为程序的Notebook执行方式。计算的数据与绘图都保留在word环境里。 2)在matlab命令窗口中直接输入指令或语句并按回车键运行。3)程序文件执行方式:在“Untitled”模型文件窗口中输入程序并以某文件名存盘,然后在matlab命令窗口中输入改文件名,按回车执行该程序。计算的数据保存在matlab的命令窗口中,如有绘图,则另弹出figure画面。常用

MATLAB在自动控制原理中的应用

本论文主要研究如何根据用户要求的性能指标进行自动控制系统的串联校正设计,而此设计又具有很重要的现实意义。对于给定的线性定常系统,我们通常通过加入串联超前、滞后或超前滞后综合校正装置,以达到提高系统的精度和稳定性的目的。本文将给出基于频率特性法串联校正的具体设计方法,同时对该课题中的控制系统模型进行仿真。本设计可实现如下功能:对一个线性定常系统,根据需求的性能指标,通过本设计可给出系统的串联校正网络,从绘制出的各种响应曲线可以直观地将校正前后的系统进行比较,而仿真实例结果也进一步表明了此设计方法有效性和实用性。 关键词:串联校正;根轨迹;频率特性法;MATLAB 1.1研究目的 在实际工程控制中,往往需要设计一个系统并选择适当的参数以满足性能 指标的要求,或对原有系统增加某些必要的元件或环节,使系统能够全面满足 性能指标要求,此类问题就称为系统校正与综合,或称为系统设计。 当被控对象给定后,按照被控对象的工作条件,被控信号应具有的最大速 度和加速度要求等,可以初步选定执行元件的形式、特性和参数。然后,根据 测量精度、抗扰能力、被测信号的物理性质、测量过程中的惯性及非线性度等 因素,选择合适的测量变送元件。在此基础上,设计增益可调的前置放大器与 功率放大器。这些初步选定的元件以及被控对象适当组合起来,使之满足表征 控制精度、阻尼程度和响应速度的性能指标要求。如果通过调整放大器增益后 仍然不能全面满足设计要求的性能指标,就需要在系统中增加一些参数及特性 可按需要改变的校正装置,使系统能够全面满足设计要求,这就是控制系统设 计中的校正问题。系统设计过程是一个反复试探的过程,需要很多经验的积累。MATLAB为系统设计提供了有效手段。 1.2相关研究现状 系统仿真作为一种特殊的实验技术,在20世纪30-90年代的半个多世纪中经历了飞速发展,到今天已经发展成为一种真正的、系统的实验科学。自动控制系统仿真是系统仿真的一个重要分支,它是一门设计自动控制理论、计算机数学、计算机技术、系统辩识以及系统科学的综合性新型学科。它为控制系统的分析、计算、研究、综合设计以及自动控制系统的计算机辅助教学等提供了快速、经济、

相关文档
相关文档 最新文档