MATLAB程序流程控制_习题答案

合集下载

(完整版)MATLAB)课后实验答案[1]

(完整版)MATLAB)课后实验答案[1]

1 + e2 (2) z = 1 ln( x + 1 + x 2 ) ,其中 x = ⎡⎢ 2⎣-0.45 ⎦2 2 ⎪t 2 - 2t + 1 2 ≤ t <3 ⎨实验一MATLAB 运算基础1. 先求下列表达式的值,然后显示 MATLAB 工作空间的使用情况并保存全部变量。

(1) z = 2sin 8501221 + 2i ⎤5 ⎥(3) z = e 0.3a - e -0.3asin(a + 0.3) + ln 0.3 + a ,a = -3.0, - 2.9, L , 2.9, 3.03⎧t 2 0 ≤ t < 1 (4) z = ⎪t 2 - 11 ≤ t <2 ,其中 t=0:0.5:2.5 4⎩解:M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)4.完成下列操作:(1)求[100,999]之间能被21整除的数的个数。

(2)建立一个字符串向量,删除其中的大写字母。

解:(1)结果:m=100:999;n=find(mod(m,21)==0);length(n)ans=43(2).建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]ch=⎣O2⨯3⎥,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩S⎦阵和对角阵,试通过数值计算验证A=⎢⎥。

MATLAB程序设计与应用习题

MATLAB程序设计与应用习题
>> X= or(a,b)
X =
1 1 1 0
2.11设a=[0 100],求~a的值?(非运算)
答:>> clear
>> a=[0 1 0 0]
a =
0 1 0 0
>> x=not(a)
x =
1 0 1 1
2.12设a=[0 120],b=[21 0 0],求axor b的值?
答:>> clear
答:>> clear
>> a=[0 2 1 0]
a =
0 2 1 0
>> b=[2 1 0 0]
b =
2 1 0 0
>> x=and(a,b)
x =
0 1 0 0
2.10设a=[0 120],b=[120 0],求a|b的值?(或运算)
答:
>> clear
>> a=[0 1 2 0];b=[1 2 0 0];
答:quit:关闭MATLAB。
clear:清除内存中的变量。
cla:清除坐标。
clf:清除图形。
clc:清除MATLAB命令窗口的所有显示信息。
hold:控制当前图形窗口是否被刷新。
1.9学会打开并保存程序编辑窗口,并在M文档中编写1.4的运算程序并进行运算。
答:要打开程序编辑窗口,我们可以在Command Window窗口中,单击工具栏中最左端显示为一张白纸的工具按钮。这样就打开了一个空白的程序编辑窗口,如图1-6所示。
3.6已知
将a(2,3)=-1替换为a(2,3)=0。
答:
3.7已知
将a的第二行元素全部替换为0,然后将第二列元素全部替换为1。

MATLAB程序设计流程控制语句

MATLAB程序设计流程控制语句
流程控制
顺序结构 判断语句(if…else…end) 分支语句 循环语句 其他流程控制函数
1
函数流程控制——顺序结构
顺序结构是最简单的程序结构,系统在编译程序时,按 照程序的物理位置顺序执行。这种程序容易编制,但是 结构单一,能够实现的功能有限。
r=1;
% the radius of the colume
20
Байду номын сангаас
函数流程控制——循环语句——while语句
while 语句用于将相同的代码块执行多次,但是次数并 不预先指定,当 while 的条件表达式为真时,执行代码块, 直到条件表达式为假。
while 语句的结构为: while 表达式 执行代码块 end
21
函数流程控制——循环语句——while语句
case 条件语句
执行代码块
case {条件语句1, 条件语句2, 条件语句3, ...}
执行代码块
otherwise 执行代码块
end
12
函数流程控制——分支语句
其中的分支语句为一个变量,可以是数值变量或者字符 串变量,如果该变量的值与某一条件相符,则执行相应 的语句,否则,执行 otherwise 后面的语句。在每一个 条件中,可以包含一个条件语句,可以包含多个条件, 当包含多个条件时,将条件以单元数组的形式表示。
elseif 表达式2
执行代码块2
elseif ......
......
......
else
执行代码块
end
其中可以包含任意多个 elseif 语句。
8
函数流程控制——判断语句
例1:输入一个字符,若为大写字母,则输出其对应的小 写字母;若为小写字母,则输出其对应的大写字母;若 为数字字符则输出其对应的数值,若为其他字符则原样 输出。

MATLAB实验指导书(附答案)

MATLAB实验指导书(附答案)

MATLAB基础实验指导书漳州师范学院物电系2010年10月目录实验一MATLAB环境的熟悉与基本运算 (2)实验二MATLAB数值运算 (8)实验三MATLAB语言的程序设计 (12)实验四MATLAB的图形绘制 (16)实验五采用SIMULINK的系统仿真 (20)实验六MATLAB在电路中的应用 (25)实验七MATLAB在信号与系统中的应用 (27)实验八MATLAB在控制理论中的应用 (29)实验一 MATLAB环境的熟悉与基本运算一、实验目的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识:1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。

2.掌握MATLAB常用命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英文字母开头(3)长度不大于31个(4)区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。

MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表6.MATLAB的常用函数表8 标准数组生成函数表9 数组操作函数三、实验内容1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)2、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。

3、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、exerc3……),学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。

(完整word版)含答案《MATLAB实用教程》

(完整word版)含答案《MATLAB实用教程》

第二章 MATLAB 语言及应用实验项目实验一 MATLAB 数值计算三、实验内容与步骤1.创建矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a(1(2)用(3)用(42.矩阵的运算(1)利用矩阵除法解线性方程组。

⎪⎪⎩⎪⎪⎨⎧=+++=-+-=+++=+-12224732258232432143214321421x x x x x x x x x x x x x x x 将方程表示为AX=B ,计算X=A\B 。

(2)利用矩阵的基本运算求解矩阵方程。

已知矩阵A 和B 满足关系式A -1BA=6A+BA ,计算矩阵B 。

其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=7/10004/10003/1A ,Ps: format rata=[1/3 0 0;0 1/4 0;0 0 1/7];b=inv(a)*inv(inv(a)-eye(3))*6*a(3)计算矩阵的特征值和特征向量。

已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=1104152021X ,计算其特征值和特征向量。

(4)Page:322利用数学函数进行矩阵运算。

已知传递函数G(s)=1/(2s+1),计算幅频特性Lw=-20lg(1)2(2w )和相频特性Fw=-arctan(2w),w 的范围为[0.01,10],按对数均匀分布。

3.多项式的运算(1)多项式的运算。

已知表达式G(x)=(x-4)(x+5)(x 2-6x+9),展开多项式形式,并计算当x 在[0,20]内变化时G(x)的值,计算出G(x)=0的根。

Page 324(2)多项式的拟合与插值。

将多项式G(x)=x 4-5x 3-17x 2+129x-180,当x 在[0,20]多项式的值上下加上随机数的偏差构成y1,对y1进行拟合。

对G(x)和y1分别进行插值,计算在5.5处的值。

Page 325 四、思考练习题1.使用logspace 函数创建0~4π的行向量,有20个元素,查看其元素分布情况。

Ps: logspace(log10(0),log10(4*pi),20) (2) sort(c,2) %顺序排列 3.1多项式1)f(x)=2x 2+3x+5x+8用向量表示该多项式,并计算f(10)值. 2)根据多项式的根[-0.5 -3+4i -3-4i]创建多项式。

matlab 流程控制的简单题目

matlab 流程控制的简单题目

matlab 流程控制的简单题目下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!题目 1:计算 1 到 100 的和```matlabsum = 0;for i = 1:100sum = sum + i;enddisp(sum);```流程:1. 初始化变量 `sum` 为 0。

第4章 MATLAB程序流程控制

第4章  MATLAB程序流程控制

第4章 MATLAB程序流程控制
2.switch语句 switch语句根据表达式的取值不同,分别执行不 同的语句,其语句格式为:
第4章 MATLAB程序流程控制
(3) 多分支if语句: if 条件1 语句组1 elseif 条件2 语句组2 …… elseif 条件m 语句组m else 语句组n end
第4章 MATLAB程序流程控制
第4章 MATLAB程序流程控制
例4-4 输入一个字符,若为大写字母,则输出其对应 的小写字母;若为小写字母,则输出其对应的大写 字母;若为数字字符则输出其对应的数值,若为其 他字符则原样输出。
age is 17>> >> fprintf('age is %d\n',17); age is 17
第4章 MATLAB程序流程控制
例4-2 求一元二次方程ax2 +bx+c=0的根。 程序如下: a=input('a=?'); b=input('b=?'); c=input('c=?'); delta=b*b-4*a*c; x=[(-b+sqrt(delta))/(2*a),(-b-sqrt(delta))/(2*a)]; disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);
M文件的扩展名为.mFra bibliotek第4章 MATLAB程序流程控制
1.建立新的M文件 为建立新的M文件,启动MATLAB编辑器有3种方法。 ① 在MATLAB主窗口选择“主页”选项卡,在“文件” 命令组中单击“新建脚本”命令按钮。 ② 在MATLAB命令行窗口输入命令: edit 文件名 启动MATLAB编辑器后,输入M文件的内容并存盘。 ③ 在命令历史窗口选中一些命令(按住Ctrl可同时选 择多条命令),然后从右键快捷菜单中选择“创建 脚本”命令,将会启动MATLAB编辑器,并在编辑 区中加入所选中的命令。

matlab教程习题答案

matlab教程习题答案

matlab教程习题答案MATLAB教程习题答案MATLAB是一种广泛应用于科学计算和工程领域的高级编程语言和环境。

它的强大功能和灵活性使得许多人对其感兴趣,但对于初学者来说,掌握MATLAB 可能会有一些困难。

为了帮助大家更好地理解和掌握MATLAB,下面将给出一些常见的MATLAB教程习题的答案,希望能对大家有所帮助。

1. 编写一个MATLAB程序,计算1到100之间所有偶数的和。

答案:```matlabsum = 0;for i = 2:2:100sum = sum + i;enddisp(sum);```2. 编写一个MATLAB程序,生成一个10行10列的随机矩阵,并计算该矩阵的行和列的和。

答案:```matlabmatrix = rand(10, 10);row_sum = sum(matrix, 2);col_sum = sum(matrix);disp(col_sum);```3. 编写一个MATLAB程序,计算斐波那契数列的前20个数。

答案:```matlabfibonacci = zeros(1, 20);fibonacci(1) = 1;fibonacci(2) = 1;for i = 3:20fibonacci(i) = fibonacci(i-1) + fibonacci(i-2);enddisp(fibonacci);```4. 编写一个MATLAB程序,计算一个正整数的阶乘。

答案:```matlabnum = input('请输入一个正整数:');factorial = 1;for i = 1:numfactorial = factorial * i;end```5. 编写一个MATLAB程序,求解一个二次方程的根。

假设二次方程的形式为ax^2 + bx + c = 0,其中a、b、c为用户输入的系数。

答案:```matlaba = input('请输入二次方程的系数a:');b = input('请输入二次方程的系数b:');c = input('请输入二次方程的系数c:');delta = b^2 - 4*a*c;if delta < 0disp('该二次方程无实根。

MATLAB流程控制脚本文件编制参考答案

MATLAB流程控制脚本文件编制参考答案

1.判断三角形clca=input('');b=input('');c=input('');if a+b>c&&b+c>a&&a+c>aswitch 1case a==b==cdisp(1)case a==b|b==c|a==cdisp(2)otherwise disp(3)endelsedisp(0)end2、费波纳切数列:1、1、2、3、5、8、13……,其递推公式为:a(1)=a(2)=1,a(n)=a(n-1)+a(n-2)(n>=3)。

编程实现求n项的费波纳切数列。

要求:用M语言脚本文件实现;对输入的错误数据格式(如字符串、小数等)能够给出错误提示。

(函数)function y=feibonaqie(n)%求费波纳切数列a(1)=1;a(2)=1;%n=input('请输入项数n:');if(n==1)a(n)=1;elseif(n==2)a(n)=1;elseif(n>=3)i=3;while(i<=n)a(i)=a(i-1)+a(i-2);i=i+1;endendy=a(n);(脚本)clc;a(1)=1;n=input('请输入项数n :');if(n==1)a(n)=1;elseif(n==2)a(n)=1;elseif(n>=3)i=3;while(i<=n)a(i)=a(i-1)+a(i-2);i=i+1;endendsprintf('a(%u)=%u',n,a(n))9X9乘法表for i=1:9;A=[];for j=1:i;A=[A,sprintf('%d ×%d=%2d ',j,i,i*j)];enddisp(A)end3、古代的数学家祖冲之利用正多边形逼近的割圆法计算了常数pi 的值,请编程实现,要求精确到小数点后的第10位。

matlab课后习题答案(1-9章)要点

matlab课后习题答案(1-9章)要点

1 数字1.5e2,1.5e3 中的哪个与1500相同吗?1.5e32 请指出如下5个变量名中,哪些是合法的?abcd-2xyz_3 3chan a 变量ABCDefgh 2、5是合法的。

3 在MATLAB 环境中,比1大的最小数是多少? 1+eps4 设 a = -8 , 运行以下三条指令,问运行结果相同吗?为什么?w1=a^(2/3) w2=(a^2)^(1/3) w3=(a^(1/3))^2w1 = -2.0000 + 3.4641i ;w2 = 4.0000 ;w3 =-2.0000 + 3.4641i 5 指令clear, clf, clc 各有什么用处?clear 清除工作空间中所有的变量。

clf 清除当前图形。

clc 清除命令窗口中所有显示。

第二章1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象?3/7+0.1双; sym(3/7+0.1)符; sym('3/7+0.1') 符;; vpa(sym(3/7+0.1)) 符;2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') symvar(sym('sin(w*t)'),1) w a z3 (1)试写出求三阶方程05.443=-x 正实根的程序。

注意:只要正实根,不要出现其他根。

(2)试求二阶方程022=+-a ax x 在0>a 时的根。

(1)reset(symengine)syms x positive solve(x^3-44.5) ans =(2^(2/3)*89^(1/3))/2(2)求五阶方程022=+-a ax x 的实根 syms a positive %注意:关于x 的假设没有去除 solve(x^2-a*x+a^2)Warning: Explicit solution could not be found. > In solve at 83 ans =[ empty sym ]syms x clear syms a positivesolve(x^2-a*x+a^2) ans =a/2 + (3^(1/2)*a*i)/2 a/2 - (3^(1/2)*a*i)/24 观察一个数(在此用@记述)在以下四条不同指令作用下的异同。

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

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

第4章 MATLAB程序流程控制习题4一、选择题1.下列关于脚本文件和函数文件的描述中不正确的是()。

AA.函数文件可以在命令行窗口直接运行B.去掉函数文件第一行的定义行可转变成脚本文件C.脚本文件可以调用函数文件D.函数文件中的第一行必须以function开始2.下列程序的输出结果是()。

Dy=10;if y==10y=20;elseif y>0y=30enddisp(y)A.1 B.30 C.10 D.203.有以下语句:a=eye(5);for n=a(2:end,:)for循环的循环次数是()。

CA.3 B.4 C.5 D.104.设有程序段k=10;while kk=k-1end则下面描述中正确的是()。

AA.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.有以下程序段:x=reshape(1:12,3,4);m=0;n=0;for k=1:4if x(:,k)<=6m=m+1;elsen=n+1;endend则m和n的值分别是()。

CA.6 6 B.2 1 C.2 2 D.1 26.调用函数时,如果函数文件名与函数名不一致,则使用()。

A A.函数文件名B.函数名C.函数文件名或函数名均可D.@函数名7.如果有函数声明行为“function [x,y,z]=f1(a,b,c)”,则下述函数调用格式中错误的是()。

BA.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是()。

AA.匿名函数B.函数句柄C.字符串D.普通函数9.执行下列语句后,变量A的值是()。

D>> f=@(x,y) log(exp(x+y));>> A=f(22,3);A.22,3B.22 C.3 D.2510.程序调试时用于设置断点的函数是()。

matlab程序设计与应用习题答案

matlab程序设计与应用习题答案

matlab程序设计与应用习题答案Matlab程序设计与应用习题答案Matlab是一种强大的数学软件,被广泛应用于科学计算、数据分析和工程模拟等领域。

无论是学术界还是工业界,Matlab都扮演着重要的角色。

在学习和应用Matlab时,我们常常会遇到一些习题,下面我将为大家提供一些常见习题的解答。

习题一:编写一个Matlab程序,计算一个数列的和。

数列的定义如下:a(1) = 1, a(n) = a(n-1) + 2*n, 其中n大于等于2。

解答一:```matlabfunction sum = calculate_sum(n)a = zeros(1, n);a(1) = 1;for i = 2:na(i) = a(i-1) + 2*i;endsum = sum(a);end```习题二:编写一个Matlab程序,求解一个线性方程组。

方程组的定义如下:2x + 3y + z = 7, 3x - 2y + 2z = 5, x + y - z = 3。

解答二:```matlabfunction [x, y, z] = solve_equations()A = [2, 3, 1; 3, -2, 2; 1, 1, -1];b = [7; 5; 3];solution = A\b;x = solution(1);y = solution(2);z = solution(3);end```习题三:编写一个Matlab程序,实现矩阵的转置操作。

解答三:```matlabfunction transposed_matrix = transpose_matrix(matrix) [m, n] = size(matrix);transposed_matrix = zeros(n, m);for i = 1:mfor j = 1:ntransposed_matrix(j, i) = matrix(i, j);endendend```习题四:编写一个Matlab程序,实现矩阵的相乘操作。

实验三 matlab程序流程控制习题答案

实验三 matlab程序流程控制习题答案

英文回复:In Experiment III, we will learn how to use Matlab to develop practical answers to process control questions。

Process flow control refers to the implementation of different segments of the process under different conditions or the revolving execution of specific segments。

In Matlab, program flow control can be achieved using f, switch and circular (for,while)。

Let us look at a simple example of if words。

Assuming there's a variable x, we want to implement different segments based on the value of x。

This can be achieved by using the following phrase:If x 》 0, execute "x is possible";If x 《 0, execute "x is negative";If x equals 0, execute "x is zero"。

The code, which implements the corresponding section of the procedure according to specific conditions, reflects the practical,prehensive and objective scientific spirit promoted by our party in the field of science and technology, as well as the methods of work of maintaining an in—depth analysis of the problem and tailoring policies to local conditions。

控制系统的Matlab仿真与设计课后答案

控制系统的Matlab仿真与设计课后答案

控制系统的Matlab仿真与设计课后答案第一篇:控制系统的Matlab仿真与设计课后答案MATLAB课后习题答案 2.1 x=[15 22 33 94 85 77 60] x(6)x([1 3 5])x(4:end)x(find(x>70))2.3 A=zeros(2,5);A(:)=-4:5L=abs(A)>3 islogical(L)X=A(L)2.4 A=[4,15,-45,10,6;56,0,17,-45,0] find(A>=10&A<=20)2.5 p1=conv([1,0,2],conv([1,4],[1,1]));p2=[1 0 1 1];[q,r]=deconv(p1,p2);cq='商多项式为';cr='余多项式为';disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,'s')])2.6 A=[11 12 13;14 15 16;17 18 19];PA=poly(A)PPA=poly2str(PA,'s')3.1 n=(-10:10)';y=abs(n);plot(n,y,'r.','MarkerSize',20)axis equal grid on xlabel('n')3.2 x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y),grid on;3.3 t=0:pi/50:2*pi;x=8*cos(t);y=4*sqrt(2)*sin(t);z=-4*sqrt(2)*sin(t);plot3(x,y,z,'p');title('Line in 3-D Space');text(0,0,0,'origin');xlabel('X'),ylable('Y'),zlable('Z');grid;3.4theta=0:0.01:2*pi;rho=sin(2*theta).*cos(2*theta);polar(theta,rho,'k');3.5[x,y,z]=sphere(20);z1=z;z1(:,1:4)=NaN;c1=ones(size(z1));surf(3*x,3*y,3*z1,c1);hold on z2=z;c2=2*ones(size(z2));c2(:,1:4)=3*ones(size(c2(:,1:4)));surf(1.5*x,1.5*y,1.5*z2,c2);col ormap([0,1,0;0.5,0,0;1,0,0]);grid on hold off 第四章function f=factor(n)if n<=1 f=1;elsef=factor(n-1)*n;endfunction[s,p]=fcircle(r)s=pi*r*r;p=2*pi*r;function k=jcsum1(n)k=0;i=0;while i<=n k=k+2^i;i=i+1;end function k=jcsum(n)k=0;for i=0:n k=k+2^i;end4.1for m=100:999m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);ifm==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m)end end4.2[s,p]=fcircle(10)4.3y=0;n=100;for i=1:ny=y+1/i/i;end y4.4s=0;for i=1:5s=s+factor(i);end s4.5sum=0;i=1;while sum<2000 sum=sum+i;i=i+1;end;n=i-2 4.6jcsum(63)jcsum1(63)4.1 for m=100:999m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);if m==m1*m1*m1+m2*m2*m2+m3*m3*m3disp(m)end end 4.3 y=0;n=100;for i=1:ny=y+1/i/i;end y 4.4 s=0;for i=1:5s=s+factor(i);end s 4.5sum=0;i=1;while sum<2000sum=sum+i;i=i+1;end;n=i-2 4.6i=0;k=0;while i<=63k=k+2^i;i=i+1;end k ii=0;k=0;for i=0:63k=k+2^i;end i k第五章functionf=fxyz(u)x=u(1);y=u(2);z=u(3);f=x+y.^2./x/4+z.^2./y+2./z;5.1A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];b=[13,-9,6,0]';x=Ab5.2[U,fmin]=fminsearch('fxyz',[0.5,0.5,0.5])5.3X=linspace(0,2*pi,50);Y=sin(X);P=polyfit(X,Y,3)AX=linspace(0,2*pi,50);Y=sin(X);Y1=polyval( P,X)plot(X,Y,':O',X,Y1,'-*')5.4x=0:2.5:10;h=[0:30:60]';T=[95,14,0,0,0;88,48,32,12,6;67,64,54,48,41];xi=[0:0.5:10];hi= [0:10:60]';temps=interp2(x,h,T,xi,hi,'cubic');mesh(xi,hi,temps);5.1 A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];b=[13,-9,6,0]';x=Ab 5.3X=linspace(0,2*pi,50);Y=sin(X);P=polyfit(X,Y,3)AX=linspace(0,2*p i,50);Y=sin(X);Y1=polyval(P,X)plot(X,Y,':O',X,Y1,'-*')6.1syms x y=finverse(1/tan(x))6.2syms x yf=1/(1+x^2);g=sin(y);fg=compose(f,g)6.3syms xg=(exp(x)+x*sin(x))^(1/2);dg=diff(g)6.4F=int(int('x*exp(-x*y)','x'),'y')6.5syms xF=ztrans(x*exp(-x*10))6.6a=[0 1;-2-3];syms sinv(s*eye(2)-a);6.7 f=solve('a*x^2+b*x+c')6.8 f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')6.9y=dsolve('D2y+2*Dy+2*y=0','y(0)=1','Dy(0)=0')ezplot(y), grid on6.10a=maple('simplify(sin(x)^2+cos(x)^2);')6.11f=maple('laplace(exp(-3*t)*sin(t),t,s);')6.12 syms t xF=sin(x*t+2*t);L=laplace(F)第七章function[sys,x0,str,ts]=ww(t,x,u,flag)%¶¨ÒåÁ¬ÐøϵͳµÄSº¯Êý A=[0,1;-0.4,-0.2];B=[0;0.2];C=[1,0];D=0;switch flag, case 0,[sys,x0,str,ts]=mdlInitializeSizes(A,B,C,D);case 1,sys=mdlDerivatives(t,x,u,A,B,C,D);case 2,sys=mdlUpdate(t,x,u);case 3,sys=mdlOutputs(t,x,u,A,B,C,D);case 4,sys=mdlGetTimeOfNextVarHit(t,x,u);case 9,sys=mdlTerminate(t,x,u);otherwiseerror(['Unhandled flag = ',num2str(flag)]);end%=============================== function [sys,x0,str,ts]=mdlInitializeSizes(A,B,C,D)sizes = simsizes;sizes.NumContStates = 2;sizes.NumDiscStates = 0;sizes.NumOutputs = 1;sizes.NumInputs = 1;sizes.DirFeedthrough = 1;sizes.NumSampleTimes = 1;sys = simsizes(sizes);x0 = [0;0];str = [];ts = [0 0];%=============================== function sys=mdlDerivatives(t,x,u,A,B,C,D)sys = A*x+B*u;%===============================function sys=mdlUpdate(t,x,u)sys = [];%=============================== functionsys=mdlOutputs(t,x,u,A,B,C,D)sys = C*x+D*u;%=============================== function sys=mdlGetTimeOfNextVarHit(t,x,u)sampleTime = 1;sys = t + sampleTime;%===============================function sys=mdlT erminate(t,x,u)sys = [];7.17.27.37.47.57.67.7第八章8.1num=[5];den=[1,2,2];sys=tf(num,den)8.1.2s = tf('s');H = [5/(s^2+2*s+2)];H.inputdelay =28.1.3h=tf([0.5,0],[1,-0.5,0.5],0.1)8.2num=2*[1,0.5];den=[1,0.2,1.01];sys=tf(num,den)[z,p,k]=tf2zp(num,den);zpk(z,p,k)[A,B,C,D]=tf2ss(num,den);ss(A,B,C,D)8.3 num=[1,5];den=[1,6,5,1];ts=0.1;sysc=tf(num,den);sysd=c2d(sysc,ts,'tustin')8.4.08.4.1 %¶Ôϵͳ·½¿òͼÿ¸ö»·½Ú½øÐбàºÅ,ÓÐ8¸öͨµÀ,ÁÐдÿ¸öͨµÀ´«µÝº¯Êý r1=1;r2=2;c1=3;c2=4;G1=r1;G2=tf(1,[c1,0]);G3=1;%ÊÇ·ÖÀëµãºÍ»ãºÏµãµÄÁ¬Ïß,²»Äܺϲ¢,´«º¯Îª1 G4=-1;G5=1/r2;G6=tf(1,[c2,0]);G7=-1;G8=-1;%½¨Á¢ÎÞÁ¬½ÓµÄ״̬¿Õ¼äÄ£ÐÍG=append(G1,G2,G3,G4,G5,G6,G7,G8)%д³öϵͳµÄÁ¬½Ó¾ØÕóQ=[1 4 0 %ͨµÀ1µÄÊäÈëÊÇͨµÀ4 2 1 7 %ͨµÀ2µÄÊäÈëÊÇͨµÀ1,7 3 2 02 0 53 8 6 5 0 7 5 060];%¸ººÅÔÚ´«º¯ÖÐÌåÏÖ %ÁгöϵͳµÄ×ܵÄÊäÈëºÍÊä³ö¶ËµÄ±àºÅinputs=1;outputs=6;%Éú³É×éºÏºóϵͳµÄ״̬¿Õ¼äÄ£ÐÍsys=connect(G,Q,inputs,outputs)8.4.2r1=1;r2=2;c1=3;c2=4;[A,B,C,D]=linmod('x84');[num,den ]=ss2tf(A,B,C,D);sys=tf(num,den)8.5A=[1,1,0;0,1,0;0,0,2];B=[0,0;1,0;0,-2];n=size(A)Tc=ctrb(A,B);if n==rank(T c)disp('ϵͳÍêÈ«ÄÜ¿Ø');elsedisp('ϵͳ²»ÍêÈ«ÄÜ¿Ø');end 第九章function [rtab,info]=routh(den)info=[];vec1=den(1:2:length(den));nrT=length(vec1);vec2=den(2:2:length(den)-1);rtab=[vec1;vec2,zeros(1,nrT-length(vec2))];for k=1:length(den)-2, alpha(k)=vec1(1)/vec2(1);for i=1:length(vec2),a3(i)=rtab(k,i+1)-alpha(k)*rtab(k+1,i+1);endif sum(abs(a3))==0 a3=polyder(vec2);info=[info,'All elements in row ',...int2str(k+2)' are zeros;'];elseif abs(a3(1))info=[info,'Replaced first element;'];endrtab=[rtab;a3, zeros(1,nrT-length(a3))];vec1=vec2;vec2=a3;end9.1num=[2,5,1];den=[1,2,3];bode(num,den);grid on;figure;nyquist(num,den);9.2num=5*[1,5,6];den=[1,6,10,8];step(num,den);gridon;figure;impulse(num,den);grid on;9.3kosi=0.7;wn=6;num=wn^2;den=[1,2*kosi*wn,wn^2];step(num,den);grid on;figure;impulse(num,den);gridon;9.4den=[1,2,8,12,20,16,16];[rtab,info]=routh(den)a=rtab(:,1) if all(a>0)disp('ϵͳÊÇÎȶ¨µÄ');elsedisp('ϵͳÊDz»Îȶ¨µÄ');end9.5num=7*[1,5];den=conv([1,0,0],conv([1,10],[1,1]));[gm,pm,wg,wc]=margin(num,den)9.1 >> sys=tf([2,5,1],[1,2,3])Transfer function: 2 s^2 + 5 s + 1---------------s^2 + 2 s + 3>> rlocus(sys)>> nyquist(sys)>> bode(sys)9.2>> G=tf(conv([5],[1,5,6]),[1,6,10,8]);>> step(G)>> impulse(G) sys=tf([5,25,30],[1,6,10,8]);>> step(sys)>> impulse(sys)9.4>> GH=tf(conv([7],[1,5]),conv([1,0,0],conv([1,10],[1,1])));>> [Gm,Pm,Wcg,Wcp]=margin(GH)Gm =0 Pm =-47.2870 Wcg =0 Wcp = 1.4354 >>GH=tf(conv([7],[1,5]),conv([1,0,0],conv([1,10],[1,1])));>>[Gm,Pm,Wcg,Wcp]=margin(GH)GH_close=feedback(GH,1)step( GH_close),grid on Gm =0 Pm =-47.2870 Wcg =0 Wcp =1.4354 第十章function s=bpts2s(bp,ts,delta)kosi=sqrt(1-1./(1+((1./pi).*log(1./bp)).^2));wn=-log(delta.*sqrt(1-kosi.^2))/(kosi.*ts);s=-kosi.*wn+j.*wn.*sqrt(1-kosi.^2);function[ngc,dgc]=fa_lead(ng0,dg0,Pm,wc,w)ngv=polyval(ng0,j*wc);dgv=polyval(dg0,j*wc);g=ngv/dgv;thetag=angle(g);mg=abs(g);thetar=Pm*pi/180;tz=(1+mg*cos(thetar-thetag))/(-wc*mg*sin(thetar-thetag));tp=(cos(thetar-thetag)+mg)/(wc*sin(thetar-thetag));ngc=[tz,1];dgc=[tp,1];function[ngc,dgc]=fg_lag_pm(ng0,dg0,w,Pm)[mu,pu]=bode(ng0,dg0,w);wgc=spline(pu,w,Pm+5-180);%²åÖµÇóÈ¡Âú×ãÏà½ÇÔ£¶ÈµÄ½ÇƵÂÊ×÷ΪÆÚÍûµÄ¼ôÇÐƵÂÊngv=polyval(ng0,j*wgc);dgv=polyval(dg0,j*wgc);g=ngv/dgv;alph=abs(1/g);T=10/alph*wgc, ngc=[alph*T,1];dgc=[T,1];function[ngc,dgc]=fg_lag_wc(ng0,dg0,w,wc)ngv=polyval(ng0,j*wc);dgv=polyval(dg0,j*wc);g=ngv/dgv;alph=abs(1/g);T=10/(alph*wc);ngc=[alph*T,1];dgc=[T,1];function[ngc,dgc]=fg_lead_pd(ng0,dg0,wc)ngv=polyval(ng0,j*wc);dg v=polyval(dg0,j*wc);g=ngv/dgv;mg0=abs(g);t=sqrt(((1/mg0)^2-1)/(wc^2));%·ùÖµÏà¼ÓΪÁãngc=[t,1];dgc=[1];%Gc(s)=1+Tsfunction[ngc,dgc]=fg_lead_pm(ng0,dg0,Pm,w)[mu,pu]=bode(ng0,dg0,w);%¼ÆËãÔ-ϵͳµÄ¶ÔÊýƵÂÊÏìÓ¦Êý¾Ý[gm,pm,wcg,wcp]=margin(mu,pu,w);%ÇóÈ¡Ô-ϵͳµÄÏà½ÇÔ£¶ÈºÍ¼ôÇÐƵÂÊalf=ceil(Pm-pm+5);%¼ÆËã¿ØÖÆÆ÷ÌṩµÄ×î´ó³¬Ç°½Ç¶È£¬phi=(alf)*pi/180;%½«×î´ó³¬Ç°½Çת»»Îª»¡¶Èµ¥Î»a=(1+sin(phi))/(1-sin(phi));%¼ÆËãaÖµdbmu=20*log10(mu);%ϵͳµÄ¶ÔÊý·ùÖµmm=-10*log10(a);%wm´¦µÄ¿ØÖÆÆ÷¶ÔÊý·ùÖµwgc=spline(dbm u,w,mm);%²îÖµÇóÈ¡wm£¬ÈÏΪwm£½wcT=1/(wgc*sqrt(a));%¼ÆËãTngc=[a*T,1];dgc=[T,1];function[ngc,dgc]=fg_lead_pm_wc(ng0,dg0,Pm,wc,w)[mu,pu]=bode(ng0,dg0,w);ngv=polyval(ng0,j*wc);dgv=poly val(dg0,j*wc);g=ngv/dgv;%ÇóÔ-ϵͳÔÚÆÚÍûµÄ¼ôÇÐƵÂÊ´¦µÄƵÂÊÏìÓ¦Êý¾ÝG0(jwc) theta=180*angle(g)/pi;%Ô-ϵͳÔÚÆÚÍûµÄ¼ôÇÐƵÂÊ´¦µÄÏà½ÇÔ£¶È£¬µ¥Î»Îª¶Èalf=ceil(Pm-(theta+180)+5);%×î´ó³¬Ç°½Ç phi=(alf)*pi/180;a=(1+sin(phi))/(1-sin(phi));dbmu=20*log10(mu);mm=-10*log10(a);wgc=spline(dbmu,w,mm);T=1/(wgc*sqrt(a));KK=128;s1=-2+i*2*sqrt(3);a=2ng0=[10];dg0=conv([1,0],conv([1,2],[1,8]));g0=tf(ng0,dg0);[ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a);gc=tf(ngc,dgc)function s=kw2s(kosi,wn)s=-kosi.*wn+j*wn.*sqrt(1-kosi.^2);10.1ng0=[1];dg0=10000*[1 0-1.1772];g0=tf(ng0,dg0);%Âú×㿪»·ÔöÒæµÄΪУÕýϵͳµÄ´«µÝº¯Êýs=kw2s(0.7,0.5)%ÆÚÍûµÄ±Õ»·Ö÷µ¼¼«µãngc=rg_lead(ng0,dg0,s);gc=tf(ngc,1)g0c=tf(g0*gc);rlocus(g0 ,g0c);b1=feedback(g0,1);%δУÕýϵͳµÄ±Õ»·´«µÝº¯Êýb2=feedback(g0c,1);%УÕýºóϵͳµÄ±Õ»·´«µÝº¯Êýfigure,step(b1,'r--',b2,'b');gridon %»æÖÆУÕýÇ°ºóϵͳµÄµ¥Î»½×Ô¾KK=20;s1=-2+i*sqrt(6);a=1ng0=[10];dg0=conv([1,0],[1,4]);g0=tf(ng0,dg0);[ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a);gc=tf(ngc,dgc)g0c=tf(K K*g0*gc);b1=feedback(k*g0,1);b2=feedback(g0c,1);step(b1,'r--',b2,'b');grid ong0c=tf(KK*g0*gc);rlocus(g0,g0c);b1=feedback(k*g0,1);b2=feedback(g0c,1);figure,step(b1,'r--',b2,'b');grid onng0=[1];dg0=conv([1,0,0],[1,5]);g0=tf(ng0,dg0);w=logspace (-3,3);KK=1;Pm=50;[ngc,dgc]=lead4(ng0,dg0,KK,Pm,w);gc=tf(ngc,dgc);g0c=tf(KK*g0*gc);bode(KK*g0,w);holdon,bode(g0c,w);grid on,hold off [gm,pm,wcg,wcp]=margin(g0c)Kg=20*log10(gm)g1=feedback( g0c,1);bode(g1),grid on, [mag,phase,w]=bode(g1);a=find(mag<=0.707*mag(1));wb=w(a( 1))max(mag)b=find(mag==max(mag))wr=w(b)KK=40;Pm=50;ng0= KK *[1];dg0=conv([1,0],conv([1,1],[1,4]));g0=tf(ng0,dg0);w=logspace(-2,4);[ngc,dgc]=fg_lead_pm(ng0,dg0,Pm,w)gc=tf(ngc,dgc),g0c=tf(g0*gc);b1=feedback(g0,1);b2=feedback(g0c,1);step(b1,'r--', b2,'b');grid on figure, bode(g0,'r--',g0c,'b',w), grid on,[gm,pm,wcg,wcp]=margin(g0c), Km=20*log10(gm) KK=200;bp=0.3;ts=0.7;delta=0.05;ng0=[1];dg0=conv([1,0],conv([0.1,1],conv([0.021],conv([0.01,1],[0.005 1]))));g0=tf(ng0,dg0);w=logspace(-4,3);t=[0:0.1:3];[mag,phase]=bode(KK*g0,w);[gm0,pm0,wg0,wc0] =margin(mag,phase,w),gm0=20*log10(gm0)%gm0 =-15.6769 %2¡¢È·¶¨ÆÚÍûµÄ¿ª»·´«µÝº¯Êý mr=0.6+2.5*bp;wc=ceil((2+1.5*(mr-1)+2.5*(mr-1)^2)*pi/ts), h=(mr+1)/(mr-1)w1=2*wc/(h+1), w2=h*w1 w1=wc/10;w2=25;ng1=[1/w1,1];dg1=conv([1/w2,1],conv([1,0],[1 ,0]));g1=tf(ng1,dg1);g=polyval(ng1,j*wc)/polyval(dg1,j*wc);K=abs(1/g);%¼ôÇÐƵÂÊ´¦·ùֵΪ1£¬ÇóKÖµ g1=tf(K*g1)%3¡¢È·¶¨·´À¡»·½Ú´«µÝº¯Êýh=tf(dg1,ng1);Kh=1/K;h=tf(Kh*h)%ÆÚÍûƵÂÊÌØÐԵĵ¹ÌØÐÔ%4¡¢ÑéËãÐÔÄÜÖ¸±êg2=feedback(KK*g0,h);%УÕýºó£¬ÏµÍ³µÄ¿ª»·´«µÝº¯Êýb1=feedback(KK*g0,1);b2=feedback(g2,1);bode(KK*g0,'r--',g2,'b',h,'g',w);grid onfigure,step(b1, 'r--',b2, 'b',t);grid on,[pos,tr,ts,tp]=stepchar(b2,delta)function[ngc,dgc]=lag2(ng0,dg0,w,KK,Pm)[mu,pu]=bode(KK*ng0,dg 0,w);wgc=spline(pu,w,Pm+5-180),ngv=polyval(KK*ng0,j*wgc);dgv=polyval(dg0,j*wgc);g=ngv/dgv;alph=abs(1/g), T=10/alph*wgc, ngc=[alph*T,1];dgc=[T,1];function[ngc,dgc]=lead4(ng0,dg0,KK,Pm,w)[mu,pu]=bode(KK*ng0,d g0,w);[gm,pm,wcg,wcp]=margin(mu,pu,w);alf=ceil(Pm-pm+5);phi=(alf)*pi/180;a=(1+sin(phi))/(1-sin(phi)), dbmu=20*log10(mu);mm=-10*log10(a);wgc=spline(dbmu,w,mm), T=1/(wgc*sqrt(a)),ngc=[a*T,1];dgc=[T,1];function[ngc,dgc]=ra_lead(ng0,dg0,s1)ngv=polyval(ng0,s1);dgv=pol yval(dg0,s1);g=ngv/dgv;thetag=angle(g);mg=abs(g);thetas=ang le(s1);ms=abs(s1);tz=(sin(thetas)-mg*sin(thetag-thetas))/(mg*ms*sin(thetag));tp=-(mg*sin(thetas)+sin(thetag+thetas))/(ms*sin(thetag));ngc=[tz,1]; dgc=[tp,1];function[ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a)ngv=polyval(ng0,s1);dgv=polyval(dg0,s1);g=dgv/ngv;k=abs(g);%ÆÚÍûÖ÷µ¼¼«µã´¦µÄ¸ù¹ì¼£ÔöÒæ beta=k/KK;[kosi1,wn1]=s2kw(s1);zc=-wn1*sin(a*pi/180)/sin(pi-atan(sqrt(1-kosi1^2)/kosi1)-(a*pi/180));%ÀûÓÃÕýÏÒ¶¨Àí pc=beta*zc;ngc=beta*[1,-zc];dgc=[1,-pc];functionvarargout=rg_lead(ng0,dg0,s1)if nargout==1ngv=polyval(ng0,s1);dgv=polyval(dg0,s1);g=ngv/dgv;thetal=pi-angle(g);zc=real(s1)-imag(s1)/tan(thetal);t=-1/zc;varargout{1}=[t,1];elseif nargout==2 ngv=polyval(ng0,s1);dgv=polyval(dg0,s1);g=ngv/dgv;theta=angle(g);phi=angle(s1);if theta>0 phi_c=pi-theta;endif theta<0;phi_c=-thetaendtheta_z=(phi+phi_c)/2;theta_p=(phi-phi_c)/2;z_c=real(s1)-imag(s1)/tan(theta_z);p_c=real(s1)-imag(s1)/tan(theta_p);nk=[1-z_c];varargout{2}=[1-p_c];kc=abs(p_c/z_c);if theta<0 kc=-kcendvarargout{1}=kc*nk;elseerror('Êä³ö±äÁ¿ÊýÄ¿²»ÕýÈ·£¡');endfunction [bp,ts]=s2bpts(s,delta)[kosi,wn]=s2kw(s);bp=exp(-kosi.*pi./sqrt(1-kosi.^2));ts=-1./(kosi.*wn)*log(delta.*sqrt(1-kosi.^2));function[kosi,wn]=s2kw(s)kosi=1./sqrt(1+(imag(s)/real(s)).^2);wn=-real(s)./kosi;%Èç¹ûwnΪ¸ºÖµ£¬ÔòwnÈ¡Õý£¬²¢ÇÒkosiÈ¡·´iwn=(wn<0);wn(iwn)=-wn(iwn);kosi(iwn)=-kosi(iwn);function[pos,tr,ts,tp]=stepchar(g0,delta)[y,t]=step(g0);[mp,ind]=max(y);dimt=length(t);yss=y(dimt);pos=100*(mp-yss)/yss;tp=t(ind);for i=1:dimtif y(i)>=1 tr=t(i);break;end end;for i=1:length(y)ify(i)<=(1-delta)*yss|y(i)>=(1+delta)*yss ts=t(i);end end第十一章11.1a=[0 1 0;0 0 1;-1-5-6];b=[0 0 1]';p=[-2+4j;-2-4j;-10];K=acker(a,b,p)eig(a-b*K)11.2a=[0 1 0;0 0 1;-6-11-6];b=[1,0,0]';p=[-2+2*sqrt(3)*j;-2-2*sqrt(3)*j;-10];K=acker(a,b,p)eig(a-b*K)11.6A=[-1 0 0;0-2-3;0 0-3];B=[1 0;2 3;-3-3];C=[1 0 0;1 1 1 ];[G,K,L]=decoupling(A,B,C)11.8A=[0 20.6;1 0];b=[0 1]';c=[0 1];d=0;G=ss(A,b,c,d);Q=diag([1,0,0,0,0]);R=1;p=[-1.8+2.4j;-1.8-2.4j];[k,P]=lqr(A,b,Q,R);l=(acker(A',c',p))' Gc=-reg(G,k,l);zpk(Gc), eig(Gc.a), t=0:0.05:2;G_1=feedback(G*Gc,1);a1=eig(G_1.a), y_1=step(G_1,t);第十二章function[t,xx]=diffstate(G,H,x0,u0,N,T)xk=x0;u=u0;t=0 for k=1:N xk=G*xk+H*u;x(:,k)=xk;t=[t,k*T];end;xx=[x0,x];12.1function sys=M601(t,x)u=1;sys=[x(2);x(3);-800*x(1)-80*x(2)-24*x(3)+u];function[t,y]=ode4(A,B,C,D,x0,h,r,v,t0,tf)Ab=A-B*v*C;B=B;C=C;x=x0';y=0;t=t0;N=round((tf-t0)/h);for i=1:N k1=Ab*x+B*r;k2=Ab*(x+h*k1/2)+B*r;k3=Ab*(x+h*k2/2)+B*r;k4=Ab*(x+h *k3)+B*r;x=x+h*(k1+2*k2+2*k3+k4)/6;y=[y,C*x];t=[t,t(i)+h];end 12.1tspan=[0,10];x0=[0,0,0]';[t,y]=ode45('M601',tspan,x0);y1=800*y(:,1);plot(t,y1);12.2 num=10;den=conv([1,0],conv([1,2],[1,3]));[A,B,C,D]=tf2ss(num,den);x0=[0,0,0];v=1;t0=0;tf=10;h=0.01; r=1;[t,y]=ode4(A,B,C,D,x0,h,r,v,t0,tf);plot(t,y),grid12.3 12.4 g=[-2.8-1.4 0 0;1.4 0 0 0;-1.8-0.3-1.4-0.6;0 0 0.6 0];h=[1 0 1 0]';c=[0 0 0 1];d=0;x0=[0 0 0 0]';u=1;N=30;T=0.1;[t,xx]=diffstate(g,h,x0,u,N,T);plot(t,xx);y=c*xx;figurestairs(t,y)grid on12.6 第十四章14.1clear all;load optcar.mat;t=signals(1,:);p=signals(2,:);v=signals(3,:);a=signals(4,:);theta =signals(5,:);subplot(4,1,1);plot(t,p);gridon;ylabel('λÖÃ(m)');subplot(4,1,2);plot(t,v);gridon;ylabel('ËÙ¶È(m/s)');subplot(4,1,3);plot(t,a);gridon;ylabel('¼ÓËÙ¶È(m/s2)');subplot(4,1,4);plot(t,theta);gridon;ylabel('½Ç¶È(¶È)');14.1clear all loadcar.mat %½«µ¼Èëµ½car.matÖеķÂÕæʵÑéÊý¾Ý¶Á³ö t=signals(1,:);x=signals(2,:);theta=signals(3,:);x1=signals(4,:);thet a1=signals(5,:);plot(t,x,t,x1);ylabel('С³µÎ»ÖÃ(m)'),grid on;%»æÖÆ¿ØÖÆÁ¦×÷ÓÃϽüËÆÄ£Ðͺ;«È·Ä£ÐÍxµÄµ¥Î»½×Ô¾ÏìÓ¦ÇúÏß figure % »æÖÆ¿ØÖÆÁ¦×÷ÓÃϽüËÆÄ£Ðͺ;«È·Ä£ÐÍthetaµÄµ¥Î»½×Ô¾ÏìÓ¦ÇúÏßplot(t,theta,t,theta1);ylabel('°Ú½ÇÖµ(rad)'),grid on;第二篇:控制系统的MATLAB仿真与设计课后答案第二章1>>x=[15 22 33 94 85 77 60] >>x(6)>>x([1 3 5])>>x(4:end)>>x(find(x>70))2>>T=[1-2 3-4 2-3];>>n=length(T);>>TT=T';>>for k=n-1:-1:0 >>B(:,n-k)=TT.^k;>>end >>B >>test=vander(T)3>>A=zeros(2,5);>>A(:) =-4:5 >>L=abs(A)>3 >>islogical(L)>>X=A(L)4>>A=[4,15,-45,10,6;56,0,17,-45,0] >>find(A>=10&A<=20)5>>p1=conv([1,0,2],conv([1,4],[1,1 ]));>>p2=[1 0 1 1];>>[q,r]=deconv(p1,p2);>>cq='商多项式为';cr='余多项式为';>>disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,'s')])6>>A=[11 12 13;14 15 16;17 18 19];>>PA=poly(A)>>PPA=poly2str(PA,'s')第三章1>>n=(-10:10)';>>y=abs(n);>>plot(n,y,'r.','MarkerSize',20)>>axisequal >>grid on>>xlabel('n')2>>x=0:pi/100:2*pi;>>y=2*exp(-0.5*x).*sin(2*pi*x);>>plot(x,y),gridon;3>>t=0:pi/50:2*pi;>>x=8*cos(t);>>y=4*sqrt(2)*sin(t);>>z=-4*sqrt(2)*sin(t);>>plot3(x,y,z,'p');>>title('Line in 3-D Space');>>text(0,0,0,'origin');>>xlabel('X'),ylable('Y'),zlable('Z');gr id;4>>theta=0:0.01:2*pi;>>rho=sin(2*theta).*cos(2*theta);>>po lar(theta,rho,'k');5>>[x,y,z]=sphere(20);>>z1=z;>>z1(:,1:4)=NaN ;>>c1=ones(size(z1));>>surf(3*x,3*y,3*z1,c1);>>holdon >>z2=z;>>c2=2*ones(size(z2));>>c2(:,1:4)=3*ones(size(c2(:,1 :4)));>>surf(1.5*x,1.5*y,1.5*z2,c2);>>colormap([0,1,0;0.5,0,0;1,0,0 ]);>>grid on >>hold off第四章1>>for m=100:999 m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);ifm==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m)end end M文件:function[s,p]=fcircle(r)s=pi*r*r;p=2*pi*r;主程序:[s,p]=fcircle(10)3>>y=0;n=100;for i=1:n y=y+1/i/i;end >>y M文件:function f=factor(n)if n<=1 f=1;elsef=factor(n-1)*n;end主程序:>>s=0;for i=1:5 s=s+factor(i);end >>s5>>sum=0;i=1;while sum<2000 sum=sum+i;i=i+1;end;>>n=i-26 for循环M文件:function k=jcsum(n)k=0;for i=0:n k=k+2^i;end主程序: >>jcsum(63)While循环M文件: function k=jcsum1(n)k=0;i=0;while i<=n k=k+2^i;i=i+1;end主程序:>>jcsum1(63)第五章1>>A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];>>b=[13,-9,6,0]';>>x=Ab M文件:functionf=fxyz(u)x=u(1);y=u(2);z=u(3);f=x+y.^2./x/4+z.^2./y+2./z;主程序:[U,fmin]=fminsearch('fxyz',[0.5,0.5,0.5])3>>X=linspace(0,2*p i,50);>>Y=sin(X);>>P=polyfit(X,Y,3)>>AX=linspace(0,2*pi,50);>>Y=sin(X);>>Y1=polyval(P,X)>>plot(X,Y,':O',X,Y1,'-*')4>>x=0:2.5:10;>>h=[0:30:60]';>>T=[95,14,0,0,0;88,48,32,12,6; 67,64,54,48,41];>>xi=[0:0.5:10];>>hi=[0:10:60]';>>temps=interp 2(x,h,T,xi,hi,'cubic');>>mesh(xi,hi,temps);第六章1>>syms x>>y=finverse(1/tan(x))2>>syms x y>>f=1/(1+x^2);g=sin(y);>>fg=compose(f,g)3>>syms x>>g=(exp(x)+x*sin(x))^(1/2);>>dg=diff(g)4>>F=int(int('x*e xp(-x*y)','x'),'y')5>>syms x>>F=ztrans(x*exp(-x*10))6>>a=[0 1;-2-3];>>syms s>>inv(s*eye(2)-a);7>>f=solve('a*x^2+b*x+c')8>>f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')9>>y=dsolve('D2y+2*Dy+2*y=0','y(0)=1','Dy(0)=0')>>ezpl ot(y),grid on10>>a=maple('simplify(sin(x)^2+cos(x)^2);')11>>f=maple(' laplace(exp(-3*t)*sin(t),t,s);')12>>syms t x>>F=sin(x*t+2*t);>>L=laplace(F)第七章第八章1-1>>h=tf([5,0],[1,2,2])1-2>>s = tf('s');>>H = [5/(s^2+2*s+2)];>>H.inputdelay =2 1-3>>h=tf([0.5,0],[1,-0.5,0.5],0.1)2>>num=2*[1,0.5];den=[1,0.2,1.01];>>sys=tf(num,d en)>>[z,p,k]=tf2zp(num,den);>>zpk(z,p,k)>>[A,B,C,D]=tf2ss(nu m,den);>>ss(A,B,C,D)3 >>num=[1,5];den=[1,6,5,1];ts=0.1;>>sys c=tf(num,den);>>sysd=c2d(sysc,ts,'tustin')>>r1=1;r2=2;c1=3;c2=4;>>[A,B,C,D]=linmod('x84');>>[num ,den]=ss2tf(A,B,C,D);>>sys=tf(num,den)5>>A=[1,1,0;0,1,0;0,0,2]; B=[0,0;1,0;0,-2];>>n=size(A)>>Tc=ctrb(A,B);if n==rank(Tc)disp('系统完全能控');elsedisp('系统不完全能控');end第九章1>>num=[2,5,1];den=[1,2,3];>>bode(num,den);grid on;>>figure;>>nyquist(num,den);2>>num=5*[1,5,6];den=[1,6,1 0,8];>>step(num,den);gridon;>>figure;>>impulse(num,den);gridon;3>>kosi=0.7;wn=6;>>num=wn^2;den=[1,2*kosi*wn,wn^2]; >>step(num,den);grid on;>>figure;>>impulse(num,den);grid on;4 M文件:function[rtab,info]=routh(den)info=[];vec1=den(1:2:length(den));nrT=len gth(vec1);vec2=den(2:2:length(den)-1);rtab=[vec1;vec2,zeros(1,nrT-length(vec2))];for k=1:length(den)-2, alpha(k)=vec1(1)/vec2(1);for i=1:length(vec2), a3(i)=rtab(k,i+1)-alpha(k)*rtab(k+1,i+1);endif sum(abs(a3))==0 a3=polyder(vec2);info=[info,'All elements in row ',...int2str(k+2)' are zeros;'];elseif abs(a3(1)) rtab=[rtab;a3, zeros(1,nrT-length(a3))];vec1=vec2;vec2=a3;end主程序:>>den=[1,2,8,12,20,16,16];>>[rtab,info]=routh(den)>>a=rt ab(:,1)if all(a>0)disp('系统是稳定的');elsedisp('系统是不稳定的');end5>>num=7*[1,5];den=conv([1,0,0],conv([1,10],[1,1]));>>[gm ,pm,wg,wc]=margin(num,den)第十章 M文件:。

(完整版)第4章MATLAB程序流程控制_习题答案

(完整版)第4章MATLAB程序流程控制_习题答案

第4章 MATLAB程序流程控制习题4一、选择题1.下列关于脚本文件和函数文件的描述中不正确的是()。

AA.函数文件可以在命令行窗口直接运行B.去掉函数文件第一行的定义行可转变成脚本文件C.脚本文件可以调用函数文件D.函数文件中的第一行必须以function开始2.下列程序的输出结果是()。

Dy=10;if y==10y=20;elseif y>0y=30enddisp(y)A.1 B.30 C.10 D.203.有以下语句:a=eye(5);for n=a(2:end,:)for循环的循环次数是()。

CA.3 B.4 C.5 D.104.设有程序段k=10;while kk=k-1end则下面描述中正确的是()。

AA.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.有以下程序段:x=reshape(1:12,3,4);m=0;n=0;for k=1:4if x(:,k)<=6m=m+1;elsen=n+1;endend则m和n的值分别是()。

CA.6 6 B.2 1 C.2 2 D.1 26.调用函数时,如果函数文件名与函数名不一致,则使用()。

A A.函数文件名B.函数名C.函数文件名或函数名均可D.@函数名7.如果有函数声明行为“function [x,y,z]=f1(a,b,c)”,则下述函数调用格式中错误的是()。

BA.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是()。

AA.匿名函数B.函数句柄C.字符串D.普通函数9.执行下列语句后,变量A的值是()。

D>> f=@(x,y) log(exp(x+y));>> A=f(22,3);A.22,3B.22 C.3 D.2510.程序调试时用于设置断点的函数是()。

Matlab实验三答案

Matlab实验三答案

Matlab实验三答案实验三 MATLAB语言的程序设计一、实验目的:1、熟悉MATLAB程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉跨空间变量传递和赋值二、实验基本知识:1、程序流程控制语句for循环结构语法:for i=初值:增量:终值语句1……语句nend说明:1.i=初值:终值,则增量为1。

2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。

while 循环结构语法:while 逻辑表达式循环体语句end说明:1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。

若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。

若表达式的值为假,则程序执行end之后的语句。

2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。

(执行循环体的次数不确定;每一次执行循环体后,一定会改变while 后面所跟关系式的值。

)3、while循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endif-else-end分支结构if 表达式1语句1else if 表达式2(可选)语句2else(可选)语句3endend说明:1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。

2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。

3.注意:每一个if都对应一个end,即有几个if,记就应有几个end。

switch-case结构语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:1.switch后面的表达式可以是任何类型,如数字、字符串等。

2.当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。

matlab练习题和答案

matlab练习题和答案

matlab 练习题和答案控制系统仿真切验Matlab部分实验结果目录实验一MATLAB基本操作..................................................................... ....................... 1实验二Matlab编程..................................................................... ............................... 5实验三Matlab基层图形控制..................................................................... ..................... 6实验四控制系统古典分析 ...................................................................... .......................12实验五控制系统现代分析..................................................................... . (15)实验六PID控制器的设计..................................................................... ......................19实验七系统状态空间设计 ...................................................................... .......................23实验九直流双闭环调速系统仿真..................................................................... . (25)实验一MATLAB基本操作1用 MATLAB能够识其他格式输入下边两个矩阵1233,, 1443678, i ,, ,,2357,,,,2335542,i,,,, A,1357B,,,2675342,i,,3239,,,,189543,, ,,1894 ,,再求出它们的乘积矩阵C,并将 C矩阵的右下角 2×3子矩阵赋给 D矩阵。

MATLAB程序流程控制_习题答案

MATLAB程序流程控制_习题答案

第 4 章MATLAB程序流程控制一、选择题1 .下列关于脚本文件和函数文件的描述中不正确的是( ) 。

AA.函数文件可以在命令行窗口直接运行B.去掉函数文件第一行的定义行可转变成脚本文件C.脚本文件可以调用函数文件D.函数文件中的第一行必须以function2.下列程序的输出结果是( ) 。

Dy=10;if y==10 y=20;elseif y>0 y=30 enddisp(y)A. 1 B3.有以下语句:a=eye(5);forn=a(2:end,:)for 循环的循环次数是(A. 3 B4.设有程序段30 C .10)。

C4 C .5D .20D .10k=10; while k k=k-1 end则下面描述中正确的是(A.while 循环执行)。

A10次C.循环体语句一次也不执行5.有以下程序段:x=reshape(1:12,3, 4);m=0;B.循环是无限循环D.循环体语句执行一次开始n=0;for k=1:4if x(:,k)<=6 m=m+1;elsen=n+1;endend则m和n 的值分别是( ) 。

CA. 6 6 B . 2 1 C . 2 2 D . 1 26.调用函数时,如果函数文件名与函数名不一致,则使用( ) 。

AA.函数文件名 B .函数名C.函数文件名或函数名均可 D .@函数名7.如果有函数声明行为“function [x,y,z]=f1(a,b,c) ”,则下述函数调用格式中错误的是( ) 。

BA.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 是( ) 。

AA.匿名函数 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 .2510 .程序调试时用于设置断点的函数是( ) 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4章 MATLAB程序流程控制习题4一、选择题1.下列关于脚本文件和函数文件的描述中不正确的是()。

A A.函数文件可以在命令行窗口直接运行B.去掉函数文件第一行的定义行可转变成脚本文件C.脚本文件可以调用函数文件D.函数文件中的第一行必须以function开始2.下列程序的输出结果是()。

Dy=10;if y==10y=20;elseif y>0y=30enddisp(y)A.1 B.30 C.10 D.20 3.有以下语句:a=eye(5);for n=a(2:end,:)for循环的循环次数是()。

CA.3 B.4 C.5 D.10 4.设有程序段k=10;while kk=k-1end则下面描述中正确的是()。

AA.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.有以下程序段:x=reshape(1:12,3,4);m=0;n=0;for k=1:4if x(:,k)<=6m=m+1;elsen=n+1;endend则m和n的值分别是()。

CA.6 6 B.2 1 C.2 2 D.1 26.调用函数时,如果函数文件名与函数名不一致,则使用()。

A A.函数文件名 B.函数名C.函数文件名或函数名均可 D.@函数名7.如果有函数声明行为“function [x,y,z]=f1(a,b,c)”,则下述函数调用格式中错误的是()。

BA.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是()。

AA.匿名函数 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.2510.程序调试时用于设置断点的函数是()。

AA.dbstop B.dbclear C.dbcont D.dbstack二、填空题1.将有关MATLAB命令编成程序存储在一个扩展名为.m的文件中,该文件称为。

M文件2.有语句“for k=[12;34]”引导的循环结构,其循环体执行的次数为。

1 3.MATLAB中用于控制不确定重复次数的循环语句为,若在循环执行过程中需要终止该循环时采用的语句为。

while…end,break4.函数文件由语句引导。

在函数定义时,函数的输入输出参数称为参数,简称。

在调用函数时,输入输出参数称为参数,简称。

function,形式,形参,实际,实参5.在MATLAB中,函数文件中的变量是变量。

定义变量是函数间传递信息的一种手段,可以用命令定义。

局部,全局,global6.应用程序的错误有两类,一类是错误,另一类是运行时的错误,即错误。

MATLAB 程序调试方法有两种,一是利用 进行程序调试,二是利用 进行程序调试。

语法,逻辑,调试函数,调试工具三、应用题1.写出下列程序的输出结果。

s=0;a=[12,13,14;15,16,17;18,19,20;21,22,23];for k=afor j=1:4if rem(k(j),2)~=0s=s+k(j);endendends2.分别用if 语句和switch 语句实现以下计算,其中a 、b 、c 的值从键盘输入。

⎪⎪⎩⎪⎪⎨⎧<≤+<≤+<≤++=5.55.3,ln 5.35.1,sin 5.15.0,2x x c b x x b a x c bx ax y c if 语句:a=input('a=');b=input('b=');c=input('c=');x=input('x=');if <=x&x<y=a*x^2+b*x+c;elseif <=x&x<y=a*(sin(b))^c+x;elseif <=x&x<y=log(abs(b+c/x));endyswitch 语句:a=input('a=');b=input('b=');c=input('c=');x=input('x=');switch fix(x*10)case num2cell(5:14)y=a*x^2+b*x+c;case num2cell(15:34)y=a*(sin(b))^c+x;case num2cell(35:54)y=log(abs(b+c/x));otherwisedisp('nsrdxcw')endy3.产生20个两位随机整数,输出其中小于平均值的偶数。

x=fix(10+rand(20)*89);a=sum(x)/20;for i=1:20if x(i)<aif rem(x(i),2)==0disp(x(i))endendend4.输入20个数,求其中最大数和最小数。

要求分别用循环结构和调用MATLAB的max 函数、min函数来实现。

循环结构:for a=1:20A(a)=input('请输入20个数:');endAmi=A(1);ma=A(1);for i=1:20if mi>A(i)mi=A(i);endif ma<A(i)ma=A(i);endenddisp(ma)disp(mi)max 、min 函数:for a=1:20A(a)=input('请输入20个数:');endAmi=min(A),ma=max(A)5.已知s=1+2+22+23+…+263分别用循环结构和调用MATLAB 的sum 函数求s 的值。

循环结构:s=0;for x=0:63s=2^x+s;enddisp(s)sum 函数:i=0:63;f=2.^i;sum(f)6.当n 分别取100、1000、10000时,求下列各式的值: (1) )2ln (1)1(41312111=+-++-+-+ nn (2) )4(7151311π=+-+- (3) )31(4164116141=+++++ n (4) )2()12)(12()2)(2(756653443122πn n n n =⎪⎪⎭⎫ ⎝⎛+-⎪⎭⎫ ⎝⎛⨯⨯⎪⎭⎫ ⎝⎛⨯⨯⎪⎭⎫ ⎝⎛⨯⨯ 要求分别用循环结构和向量运算(使用sum 或prod 函数)来实现。

(1):循环结构:n=input('请输入n 的值:');s=0;for a=1:ns=s+(-1)^(a+1)/a;ends向量运算:n=input('请输入n的值:'); a=1:n;f=(-1).^(a+1)./a;s=sum(f)(2):循环结构:n=input('请输入n的值:'); s=0;for a=1:n;s=s+(-1)^(a+1)/(2*a-1); ends向量运算:n=input('请输入n的值:'); a=1:n;f=(-1).^(a+1)./(2*a-1);s=sum(f)(3):循环结构:n=input('请输入n的值:'); s=0;for a=1:ns=s+(1/4)^a;ends向量运算:n=input('请输入n的值:'); a=1:n;f=(1/4).^a;s=sum(f)(4):循环结构:n=input('请输入n 的值:');s=1;for a=1:nf=(2*a)^2/((2*a-1)*(2*a+1));s=s*f;ends向量运算:n=input('请输入n 的值:');a=1:n;f=(2*a).^2./((2*a-1).*(2*a+1));s=prod(f)7.编写一个函数文件,求小于任意自然数n 的斐波那契(Fibnacci )数列各项。

斐波那契数列定义如下:121211(2)nn n f f f f f n --=⎧⎪=⎨⎪=+>⎩ function f=Fibnacci(n)for i=1:nif i==1f=1;elseif i==2f=1;elsef=Fibnacci(i-1)+Fibnacci(i-2);endendn=input('n=');f=Fibnacci(n) 8.编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在脚本文件中调用该函数。

function [C,D]=CJ(A,B)C=A*B;D=A.*B;A=[1 2 3;4 5 6;7 8 9];B=[1 1 1;1 1 1;1 1 1];[C,D]=CJ(A,B)9.先用函数的递归调用定义一个函数文件求1n m i i=∑,然后调用该函数文件求∑∑∑===++10501210011k k k kkk 。

function f=xt4_10(m,n)if n<1f=0;elsef=n^m+xt4_10(m,n-1);endxt4_10(1,100)+xt4_10(2,50)+xt4_10(-1,10)10.写出下列程序的输出结果。

脚本文件:global xx=1:2:5;y=2:2:6;sub(y);xy函数文件:function fun=sub(z)global xz=3*x;x=x+z;。

相关文档
最新文档