文档库 最新最全的文档下载
当前位置:文档库 › matlab逻辑判断与流程控制

matlab逻辑判断与流程控制

matlab逻辑判断与流程控制
matlab逻辑判断与流程控制

实验二:逻辑判断与流程控制

实验目的:

1. 掌握常用关系运算和逻辑运算。

2. 熟悉掌握选择结构(if 语句)、循环结构(for 语句,while 语句)、多路分支结构(switch 语句)的流程控制语句。

3. 学习编写脚本文件(*.m 文件)。掌握脚本文件的调用方法。 实验内容:

1. 找出1~100间3的倍数和尾数是3的数,按升序排列。提示:排序函数为sort(X)

2. 编写脚本文件exe31.m 使用选择结构编写程序判断输入的成绩C 为及格、中等、良好、优秀、满分还是不及格。 该脚本文件的第一行是:C=input('请输入成绩C= ');

3. 编写脚本文件exe32.m 使用for 循环计算1~1000的累加

和1000

1

t S t ==∑。

思考:不使用循环,求解上题。(使用sum 函数)

4. 编写脚本文件exe33.m 使用while 循环计算从1开始的奇数的联乘积S1,S1=1×3×5×…。要求S1<1×106,显示S1和最后一个奇数的值。

5. (选做)编写脚本文件exe34.m 使用switch 语句改写exe31.m ,完成相同功能。

6. (选做)假设一个人从第1年到第N=10年每年投入本金

S=10000元,每年利率为q=10%,编写循环求到第N+1年本利合计T,与本金总额S*N比较。(本题应先作出数学模型再编程)

要求:记录程序源代码和调用及结果。

代码与步骤:

1. a=1:100;

b=[a(rem(a,10)==3) a(rem(a,3)==0)];

b=sort(b);

for m=1:length(b)

if m>=length(b)

break;

end

if b(m+1)==b(m)

b(m)=[];

end

end ;

b

b =

Columns 1 through 15

3 6 9 12 13 15 18 21 23 2

4 27 30 33 36 39

Columns 16 through 30

42 43 45 48 51 53 54 57 60 63 66 69 72 73 75

Columns 31 through 39

78 81 83 84 87 90 93 96 99

2. C=input('请输入成绩C= ')

if (C<0|C>100)

disp('错误,请重新输入')

elseif(C<60)

disp('不及格')

elseif(C<70)

disp('及格')

elseif(C<80)

disp('中等')

elseif(C<90)

disp('优秀')

else

disp('满分')

end

3. a=0;

for m=1:1000

a=a+m;

end

a

a =

500500

4. s2=1;n=1;

while s2<100

s1=s2;

s2=s2*n;

m=n-2;

n=n+2;

end

s1,m

s1 =

135135

m =

13

5.C=input('请输入成绩C= ');

c1=floor(C/10);

switch c1

case 6

disp('及格');

case 7

disp('中等');

case 8

disp('良好');

case 9

disp('优秀');

case 10

disp('满分');

otherwise

disp('不及格');

end

6.N=input('请输入投资年数N=');

q=input('请输入年利率q=');

S=input('请输入本金S=');

c=1;

a=zeros(1,N);

for k=1:N

c=c*(1+q);

a(k)=c;

end

b=sum(a);

T=b*S

Z=S*N

T =

1.7531e+005

Z =

100000

基于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程序

基本操作 -5/(4.8+5.32)^2 area=pi*2.5^2 x1=1+1/2+1/3+1/4+1/5+1/6 exp(acos(0.3)) a=[1 2 3;4 5 6;7 8 9] a=[1:3,4:6,7:9] a1=[6: -1:1] a=eye(4) a1=eye(2,3) b=zeros(2,10) c=ones(2,10) c1=8*ones(3,5) d=zeros(3,2,2); r1=rand(2, 3) r2=5-10*rand(2, 3) r4=2*randn(2,3)+3 arr1=[1.1 -2.2 3.3 -4.4 5.5] arr1(3) arr1([1 4]) arr1(1:2:5) arr2=[1 2 3; -2 -3 -4;3 4 5] arr2(1,:) arr2(:,1:2:3) arr3=[1 2 3 4 5 6 7 8] arr3(5:end) arr3(end) 绘图

x=[0:1:10]; y=x.^2-10*x+15; plot(x,y) x=0:pi/20:2*pi y1=sin(x);y2=cos(x); plot(x,y1,'b-'); hold on; plot(x,y2,‘k--’); legend (‘sin x’,‘cos x’); x=0:pi/20:2*pi; y=sin(x); figure(1) plot(x,y, 'r-') grid on 以二元函数图 z = xexp(-x^2-y^2) 为例讲解基本操作,首先需要利用meshgrid 函数生成X-Y平面的网格数据,如下所示: xa = -2:0.2:2; ya = xa; [x,y] = meshgrid(xa,ya); z = x.*exp(-x.^2 - y.^2); mesh(x,y,z); 建立M文件 function fenshu( grade ) if grade > 95.0 disp('The grade is A.'); else if grade > 86.0 disp('The grade is B.'); else

matlab与多元统计分析

Matlab 与多元统计分析 胡云峰 安庆师范学院 第三章习题 3.1对某地区的6名2周岁男婴的身高、胸围、上半臂进行测量。得样本数据如表3.1所示。 假设男婴的测量数据X (a )(a=1,…,6)来自正态总体N 3(μ,∑) 的随机样本。根据以往的资料,该地区城市2周岁男婴的这三项的均值向量μ0=(90,58,16)’,试检验该地区农村男婴与城市男婴是否有相同的均值向量。 表3.1 某地区农村2周岁男婴的体格测量数据 1.预备知识 ∑未知时均值向量的检验: H 0:μ=μ0 H 1:μ≠μ0 H 0成立时 122)(0,)(1)(1,) ()'((1)))()'()(,1)(1)1(,) (1)P P X N n S W n n X n S X n X S X T p n n p T F P n p n p μμμμμ---∑--∑??∴----=-----+∴-- 当 2 (,)(1) n p T F p n p p n α-≥--或者22T T α≥拒绝0H 当 2 (,)(1) n p T F p n p p n α-<--或者22T T α<接受0H 这里2 (1) (, )p n T F p n p n p αα-= -- 2.根据预备知识用matlab 实现本例题 算样本协方差和均值 程序x=[78 60.6 16.5;76 58.1 12.5;92 63.2 14.5;81 59.0 14.0;81 60.8 15.5;84 59.5 14.0]; [n,p]=size(x); i=1:1:n; xjunzhi=(1/n)*sum(x(i,:));

MATLAB数据及其运算_习题答案

第2章 MATLAB数据及其运算 习题2 一、选择题 1.下列可作为MATLAB合法变量名的是()。D A.合计 B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。C A.+10 B. C.2e D.2i 3.使用语句t=0:7生成的是()个元素的向量。A A.8 B.7 C.6 D.5 4.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。B A.1 B.2 C.3 D.4 5.已知a为3×3矩阵,则a(:,end)是指()。D A.所有元素 B.第一行元素 C.第三行元素 D.第三列元素 6.已知a为3×3矩阵,则运行a (1)=[]后()。A A.a变成行向量 B.a变为2行2列 C.a变为3行2列 D.a变为2行3列 7.在命令行窗口输入下列命令后,x的值是()。B >> clear >> x=i*j A.不确定 B.-1 C.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。D A.34 B.354 C.453 D.43 9.下列语句中错误的是()。B A.x==y==3 B.x=y=3 C.x=y==3 D.y=3,x=y 10.find(1:2:20>15)的结果是()。C A.19 20 B.17 19 C.9 10 D.8 9 11.输入字符串时,要用()将字符括起来。C A.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。A A.9 B.11 C.7 D.18

13.eval('sqrt(4)+2')的值是()。B A.sqrt(4)+2 B.4 C.2 D.2, 2 14.有3×4的结构矩阵student,每个结构有name(姓名)、scores(分数)两个成 员,其中scores是以1×5矩阵表示的5门课的成绩,那么要删除第4个学生的第2门课 成绩,应采用的正确命令是()。D A.rmfield(student(1,2).scores(2)) B.rmfield(student(4).scores) C.student(4).scores(2)=0 D.student(1,2).scores(2)=[] 15.有一个2行2列的单元矩阵c,则c(2)是指()。B A.第一行第二列的元素内容 B.第二行第一列的元素内容 C.第一行第二列的元素 D.第二行第一列的元素 二、填空题 1.从键盘直接输入矩阵元素来建立矩阵时,将矩阵的元素用括起来,按矩阵 行的顺序输入各元素,同一行的各元素之间用分隔,不同行的元素之间用 分隔。中括号,逗号或空格,分号 2.设A=[1,2;3,4],B=[5,6;7,8],则A*B= , A.*B= 。 A*B=[19,22;43,50],A.*B=[5,12;21,32] 3.有3×3矩阵,求其第 5个元素的下标的命令是,求其第三行、第三列元 素的序号的命令是。[i,j]=ind2sub([3 3],5),ind=sub2ind([3 3],3,3) 4.下列命令执行后的输出结果是。20 >> ans=5; >> 10; >> ans+10 5.下列命令执行后,new_claim的值是。This is a great example. claim= 'This is a good example.'; new_claim=strrep(claim,'good','great') 三、应用题 1.命令X=[]与clear X有何不同请上机验证结论。 Clear X是将X从工作空间中删除,而X=[]是给X赋空矩阵。空矩阵存在于工作空间 中,只是没有任何元素。 2.在一个MATLAB命令中,6?+?7i和6?+ 7*i有何区别i和I有何区别 3.设A和B是两个同大小的矩阵,试分析A*B和A.*B、A./B和B.\A、A/B和B\A的 区别如果A和B是两个标量数据,结论又如何 4.写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1,3,5列元素赋给矩阵B。 (2)删除矩阵A的第5号元素。

自动控制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 程序设计方法及若干程序实例 樊双喜 (河南大学数学与 信息科学学院开封475004) 摘要本文通过对 MATLAB 程序设计中的若干典型问题做简要的分析和总结,并在此基础上着重讨论了有关算法设计、程序的调试与测试、算法与程序的优化以及循环控制等方面的问题.还通过对一些程序实例做具体解析,来方便读者进行编程训练并掌握一些有关MATLAB 程序设计方面的基本概念、基本方法以及某些问题的处理技巧等.此外,在文章的最后还给出了几个常用数学方法的算法程序, 供读者参考使用.希望能对初学者进行 MATLAB 编程训练提供一些可供参考的材料,并起到一定的指导和激励作用,进而为MATLAB 编程入门打下好的基础. 关键字算法设计;程序调试与测试;程序优化;循环控制 1 算法与程序 1.1 算法与程序的关系算法被称为程序的灵魂,因此在介绍程序之前应先了 解什么是算法.所谓算 法就是对特定问题求解步骤的一种描述.对于一个较复杂的计算或是数据处理的问题,通常是先设计出在理论上可行的算法,即程序的操作步骤,然后再按照算法逐步翻译成相应的程序语言,即计算机可识别的语言. 所谓程序设计,就是使用在计算机上可执行的程序代码来有效的描述用于解决特定问题算法的过程.简单来说,程序就是指令的集合.结构化程序设计由于采用了模块分化与功能分解,自顶向下,即分而治之的方法,因而可将一个较复杂的问题分解为若干子问题,逐步求精.算法是操作的过程,而程序结构和程序流程则是算法的具体体现. 1.2MATLAB 语言的特点 MATLAB 语言简洁紧凑,使用方便灵活,库函数极其丰富,其语法规则与科技人员的思维和书写习惯相近,便于操作.MATLAB 程序书写形式自由,利用其丰富

基于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 ω。

第4章MATLAB程序流程控制-习题答案

第4章M A T L A B程序流程控制-习题答案

第4章MATLAB程序流程控制 习题4 一、选择题 1.下列关于脚本文件和函数文件的描述中不正确的是()。A A.函数文件可以在命令行窗口直接运行 B.去掉函数文件第一行的定义行可转变成脚本文件 C.脚本文件可以调用函数文件 D.函数文件中的第一行必须以function开始 2.下列程序的输出结果是()。D y=10; ify==10 y=20; elseify>0 y=30 end disp(y) A.1B.30C.10D.20 3.有以下语句: a=eye(5); forn=a(2:end,:) for循环的循环次数是()。C A.3B.4C.5D.10 4.设有程序段 k=10; whilek k=k-1 end 则下面描述中正确的是()。A A.while循环执行10次B.循环是无限循环 C.循环体语句一次也不执行D.循环体语句执行一次 5.有以下程序段: x=reshape(1:12,3,4); m=0;

n=0; fork=1:4 ifx(:,k)<=6 m=m+1; else n=n+1; end end 则m 和n 的值分别是()。C A .66 B .21 C .22 D .12 6.调用 函数时 ,如 果函数 文件名与 函数 名不一 致用()。A A .函数文件名B .函数名 C .函数文件名或函数名均可 D .@函数名 7.如果有函数声明行为“f unction[x,y,z]=f1(a,b,c)”,则下述函数调用格式中错误的是 ()。B A .x=f1(a,b,c)B .[x,y,z,w]=f1(a,b,c) C .[x,b,z]=f1(a,y,c)D .[a,b]=f1(x,y,z) 8.执行语句“f n=@(x)10*x;”,则fn 是()。A A .匿名函数B .函数句柄C .字符串D .普通函数 9.执行下列语句后,变量A 的值是()。D >>f=@(x,y)log(exp(x+y)); >>A=f(22,3); A .22,3B .22C .3D .25 10.程序调试时用于设置断点的函数是()。A A .dbstopB .dbclearC .dbcontD .dbstack 二、填空题 1.将有 关M A T L A B 命令编成程序存储在展名为.m 的文件中,该文件称 为。M 文件 2.有语句“f ork=[12;34]”引导的循环结构,其循环体执行的次数为。1 3.M A T L A B 中用于控制不确定重复次 数 的 循 环 中需要终止该循用的语句为。while ?end ,break 4.函数文件由语 句引导。在函 数 定 义时,函数数。在调用函数时,输入输出为参数。 function ,形式,形参,实际,实参 5.在MATLAB 中,函数文件中的变量是变量。定义变量是函数间 传递信息的一种手段用命令定义。局部,全局,global 6.应用程序的错误有两类,一类是错误,另一类是运行时的错误,即 2

MATLAB 判别分析

判别分析在生产、科学研究和日常生活中,经常会遇到对某一研究对象属于哪种情况作出判断。例如要根据这两天天气情况判断明天是否会下雨;医生要根据病人的体温、白血球数目及其它症状判断此病人是否会患某种疾病等等。从概率论的角度看,可把判别问题归结为如下模型。设共有n 个总体: n ξξξ,,,21L 其中i ξ是m 维随机变量,其分布函数为 ),,(1m i x x F L ,n i ,,2,1L = 而),,(1m x x L 是表征总体特性的m 个随机变量的取值。在判别分析中称这m 个变量为判别因子。现有一个新的样本点T m x x x ),,(1L =,要判断此样本点属于哪一个总体。 Matlab 的统计工具箱提供了判别函数classify 。 函数的调用格式为: [CLASS,ERR] = CLASSIFY(SAMPLE,TRAINING ,GROUP, TYPE) 其中SAMPLE 为未知待分类的样本矩阵,TRAINING 为已知分类的样本矩阵,它们有相同的列数m ,设待分类的样本点的个数,即SAMPLE 的行数为s ,已知样本点的个数,即TRAINING 的行数为t ,则GROUP 为t 维列向量,若TRAINING 的第i 行属于总体i ξ,则 GROUP 对应位置的元素可以记为i ,TYPE 为分类方法,缺省值为'linear',即线性分类,TYPE 还可取值'quadratic','mahalanobis'(mahalanobis 距离)。返回值CLASS 为s 维列向量,给出了SAMPLE 中样本的分类,ERR 给出了分类误判率的估计值。例已知8个乳房肿瘤病灶组织的样本,其中前3个为良性肿瘤,后5个为恶性肿瘤。数据为细胞核显微图像的10个量化特征:细胞核直径,质地,周长,面积,光滑度。根据已知样本对未知的三个样本进行分类。已知样本的数据为:13.54,14.36,87.46,566.3,0.09779 13.08,15.71,85.63,520,0.1075 9.504,12.44,60.34,273.9,0.1024 17.99,10.38,122.8,1001,0.1184 20.57,17.77,132.9,1326,0.08474 19.69,21.25,130,1203,0.1096 11.42,20.38,77.58,386.1,0.1425 20.29,14.34,135.1,1297,0.1003 -1-

自动控制常见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 ???→

第4章matlab程序流程控制_习题答案

第4章 MATLAB程序流程控制 习题4 一、选择题 1.下列关于脚本文件和函数文件的描述中不正确的是()。 A A.函数文件可以在命令行窗口直接运行 B.去掉函数文件第一行的定义行可转变成脚本文件 C.脚本文件可以调用函数文件 D.函数文件中的第一行必须以function开始 2.下列程序的输出结果是()。D y=10; if y==10 y=20; elseif y>0 y=30 end disp(y) A.1 B.30 C.10 D.20 3.有以下语句: a=eye(5); for n=a(2:end,:) for循环的循环次数是()。C A.3 B.4 C.5 D.10 4.设有程序段 k=10; while k k=k-1 end 则下面描述中正确的是()。A A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.有以下程序段: x=reshape(1:12,3,4); m=0;

n=0; for k=1:4 if x(:,k)<=6 m=m+1; else n=n+1; end end 则m和n的值分别是()。C A.6 6 B.2 1 C.2 2 D.1 2 6.调用函数时,如果函数文件名与函数名不一致,则使用()。A A.函数文件名 B.函数名 C.函数文件名或函数名均可 D.@函数名 7.如果有函数声明行为“function [x,y,z]=f1(a,b,c)”,则下述函数调用格式中错误的是()。B A.x=f1(a,b,c) B.[x,y,z,w]=f1(a,b,c) C.[x,b,z]=f1(a,y,c) D.[a,b]=f1(x,y,z) 8.执行语句“fn=@(x) 10*x;”,则 fn是()。A A.匿名函数 B.函数句柄 C.字符串 D.普通函数 9.执行下列语句后,变量A的值是()。D >> f=@(x,y) log(exp(x+y)); >> A=f(22,3); A.22,3 B.22 C.3 D.25 10.程序调试时用于设置断点的函数是()。A A.dbstop B.dbclear C.dbcont D.dbstack 二、填空题 1.将有关MATLAB命令编成程序存储在一个扩展名为.m的文件中,该文件称为。M文件 2.有语句“for k=[12;34]”引导的循环结构,其循环体执行的次数为。1 3.MATLAB中用于控制不确定重复次数的循环语句为,若在循环执行过程中需要终止该循环时采用的语句为。while…end,break 4.函数文件由语句引导。在函数定义时,函数的输入输出参数称为参数,简称。在调用函数时,输入输出参数称为参数,简称。 function,形式,形参,实际,实参 5.在MATLAB中,函数文件中的变量是变量。定义变量是函数间传递信息的一种手段,可以用命令定义。局部,全局,global 6.应用程序的错误有两类,一类是错误,另一类是运行时的错误,即错

matlab的判别分析

广西某锰矿床已知两种不同锰矿石各项评价指标如下表所列。现新发现湖润锰矿床,初步 Matlab执行代码: g1=[41.19 11.86 0.182 36.22;34.99 9.84 0.178 27.82;35.62 10.56 0.261

21.02]; g2=[23.21 5.46 0.11 21.17;25.05 6.84 0.134 27.3;19.23 6.61 0.137 26.61]; fprintf('做距离判别分析:\n') fprintf('在两个总体的协方差矩阵相等的假设下进行判别分析:\n') fprintf('两个样本的协方差矩阵s1,s2分别为\n') s1=cov(g1) s2=cov(g2) fprintf('因为两个总体的协方差矩阵相等,所以协方差的联合估计s为:\n') [m1,n2]=size(g1);[m2,n2]=size(g2); s=((m1-1)*s1+(m2-1)*s2)/(m1+m2-2) fprintf('两个总体的马氏平方距离为:\n') sn=inv(s); u1=mean(g1);u2=mean(g2); ucz=(u1-u2)'; dmj=(u1-u2)*sn*ucz fprintf('该值反映了两个总体的分离程度,线性函数的判别函数为:\n') syms x1;syms x2;syms x3;syms x4; x=[x1;x2;x3;x4]; u1z=u1';u2z=u2'; a1=(sn*u1z)';b1=(u1*sn*u1z)/2; a2=(sn*u2z)';b2=(u2*sn*u2z)/2; w1=vpa((a1*x-b1),4)

数模-化验结果判别及matlab程序

地贫患者的基因筛查问题 摘要 地中海贫血(简称“地贫”)是全球广为流行、危害极为严重的遗传性溶血性疾病,全世界至少有亿人携带地中海贫血的致病基因。医学上通过大人群的基因筛查来预防地贫患儿的出生。 本文应用统计学原理,对病人以及健康人的110个基因进行分析,采用Fisher判别模型建立判别标准和多元统计模型spss 软件进行筛选。 问题一,利用费希尔模型判别待测者是否患有地贫,以编号1~20地贫患者的样本,编号21~40健康人员的样本,分别作为模版建立模型,用mathlab软件求解得到待测组的患病者编号41~60个是待筛查人员的样本。 问题二,为确定“地贫”样本与“健康”样本在基因链上的区别。以及癌症样本中是否有子类。我们用1~20数据为标准化并确立相关系数矩阵,求出相关矩阵的特征值和特征向量,然后通过前m 个 主成分的累计贡献率满足 % 85 ) 1 /( ) 1 (≥ ∑ = ∑ =k i k k i k λ λ 来确定贡献率矩阵,从而得出各种基因的权 值,又利用初始特征值需大于 1,再运用逐步剔除法得出关键基因关键字:地贫患者的基因 Fisher判别筛查相关系数矩阵

1 问题重述 化验指标能够协助医生诊断。人们到医院就诊时,诊断就诊人员是否患肾炎时通常要化验人体内各种元素含量。表是确诊病例的化验结果,其中1-30号病例是已经确诊为肾炎病人的化验结果;31-60号病例是已经确定为健康人的结果。表是就诊人员的化验结果。 1.根据表中的数据,提出一种或多种简便的判别方法,判别属于患者或健康人的方 法,并检验你提出方法的正确性。 2.按照1提出的方法,判断表中的30名就诊人员的化验结果进行判别,判定他(她) 们是肾炎病人还是健康人。 3.能否根据表的数据特征,确定哪些指标是影响人们患肾炎的关键或主要因素,以 便减少化验的指标。 4.根据3的结果,重复2的工作。 5.对2和4的结果作进一步的分析。 2 问题分析 问题解决的关键是如何正确判断正常人与患者之间的差异,利用所给数据,可以选择用医学统计方法[1]中的判别分析法[2]进行分析。从题目给出的表中可以得出以下信息:1)表中分别给出正常人与患者各30组数据,每组数据各包含7种元素(Zn、Cu、Fe、Ca、Mg、K、Na)在人体中的含量。通过对这些数据进行分析,可以从中找出数据差异,根据判别法确定判别标准。利用所得判别标准,与就诊人员的化验结果比较可以判

自动控制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统计分析与应用:40个案例分析

MATLAB统计分析与应用:40个案例分析 ISBN:9787512400849 分类号:C819 /115 出版社:北京航空航天大学出版社 【内容简介】 本书从实际应用的角度出发,以大量的案例详细介绍了MA TLAB环境下的统计分析与应用。 本书主要内容包括:利用MA TLAB制作统计报告或报表;从文件中读取数据到MA TLAB;从MA TLAB中导出数据到文件;数据的平滑处理、标准化变换和极差归一化变换;生成一元和多元分布随机数;蒙特卡洛方法;参数估计与假设检验;Copula理论及应用实例;方差分析;基于回归分析的数据拟合;聚类分析;判别分析;主成分分析;因子分析;图像处理中的统计应用等。 本书可以作为高等院校本科生、研究生的统计学相关课程的教材或教学参考书,也可作为从事数据分析与数据管理的研究人员的参考用书。 【目录】 第1章利用MA TLAB生成Word和Excel文档 1.1 组件对象模型(COM) 1.1.1 什么是CoM 1.1.2 CoM接口 1.2 MA TLAB中的ActiveX控件接口技术 1.2.1 actxcontrol函数 1.2.2 actxcontrollist函数 1.2.3 actxcontrolselect函数 1.2.4 actxserver函数 1.2.5 利用MA TLAB调用COM对象 1.2.6 调用actxserver函数创建组件服务器 1.3 案例1:利用MA TLAB生成Word文档 1.3.1 调用actxserver函数创建Microsoft Word服务器 1.3.2 建立Word文本文档 1.3.3 插入表格 1.3.4 插入图片 1.3.5 保存文档 1.3.6 完整代码 1.4 案例2:利用MA TLAB生成Excel文档 1.4.1 调用actxserver函数创建Microsoft Excel服务器 1.4.2 新建Excel工作簿 1.4.3 获取工作表对象句柄 1.4.4 插入、复制、删除、移动和重命名工作表 1.4.5 页面设置 1.4.6 选取工作表区域 1.4.7 设置行高和列宽 1.4.8 合并单元格 1.4.9 边框设置 1.4.10 设置单元格对齐方式

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

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

用matlab实现自动控制系统的分析与设计

使用MATLAB对控制系统进行计算机仿真的主要方法是:以控制系统的传递函数为基础,使用MATLAB的Simulink工具箱对其进行计算机仿真研究。 1.时域分析中性能指标 为了保证电力生产设备的安全经济运行,在设计电力自动控制系统时,必须给出明确的系统性能指标,即控制系统的稳定性、准确性和快速性指标。通常用这三项技术指标来综合评价一个系统的控制水平。对于一个稳定的控制系统,定量衡量性能的好坏有以下几个性能指标:(1)峰值时间tp;(2)调节时间ts;(3)上升时间tr;(4)超调量Mp%。 怎样确定控制系统的性能指标是控制系统的分析问题;怎样使自动控制系统的性能指标满足设计要求是控制系统的设计与改造问题。在以往进行设计时,都需要通过性能指标的定义徒手进行大量、复杂的计算,如今运用MATLAB可以快速、准确的直接根据响应曲线得出性能指标。例如:求如下二阶系统的性能指标: 首先用MATLAB在命令窗口编写如下几条简单命令: num=[3]; %传递函数的分子多项式系数矩阵 den=[1 1.5 3]; %传递函数的分母多项式系数矩阵 G=tf(num,den); %建立传递函数 grid on; %图形上出现表格 step(G) %绘制单位阶跃响应曲线 通过以上命令得到单位阶跃响应曲线如图1,同时在曲线上根据性能指标的定义单击右键,则分别可以得到此系统的性能指标:峰值时间tp=1.22s;调节时间ts=4.84s;上升时间tr=0.878s;超调量Mp%=22.1%。 图1 二阶系统阶跃响应及性能指标 2.具有延迟环节的时域分析 在许多实际的电力控制系统中,有不少的过程特性(对象特性)具有较大的延迟,例如多容水箱。对于具有延迟过程的电力控制无法保证系统的控制质量,因此进行设计时必须考虑实际系统存在迟延的问题,不能忽略。所以设计的首要问题是在设计系统中建立迟延环节的数学模型。 在MATLAB环境下建立具有延迟环节的数学模型有两种方法。 例:试仿真下述具有延迟环节多容水箱的数学模型的单位阶跃响应曲线: 方法一:在MATLAB命令窗口中用函数pade(n,T) num1=1;den1=conv([10,1],[5,1]);g1=tf(num1,den1); [num2,den2]=pade(1,10);g2=tf(num2,den2); g12=g1*g2; step(g12) 图2 延迟系统阶跃响应曲线 方法二:用Simulink模型窗口中的Transport Delay(对输入信号进行给定的延迟)模块 首先在Simulink模型窗口中绘制动态结构图,如图3所示。 图3 迟延系统的SIMULINK实现

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

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

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

第一章 课程设计内容与要求分析 1.1设计内容 针对二阶系统 )1()(+= s s K s W , 利用有源串联超前校正网络(如图所示)进行系统校正。当开关S 接通时为超前校正装置,其传递函数 11 )(++-=Ts Ts K s W c c α, 其中 132R 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 ,开环截止频率ωc’≥4.4弧度/秒,相位裕量γ’≥45°; 2)根据性能指标要求,确定串联超前校正装置传递函数; 3)利用对数坐标纸手工绘制校正前、后及校正装置对数频率特性曲线; c R R

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