控制系统仿真

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

《控制系统计算机仿真一课程设计作业》

姓名: 专业:

学号:

(1)

试将A.* B 与A* B 的结果相加,并找出相加后新矩阵中绝对值大于

10的元素。

(2) 组合成一个4 3的矩阵,第一列为按列顺序排列的A 矩阵元素,第二列为按列顺序排列的B 矩阵元素,第三列为按列顺序排列的 C 矩阵元素。

(1)matlab :

A=[-7 1;8 -3]; B=[4 2;5 7]; C=[5 9;6 2]; D=A.*B+A*B

num=fi nd(abs(D)>10); D(num) 结果:D =

-51 -5 57 -26 ans =

-51 57 -26

(2)matlab: NEW=[A(1,:),A(2,:);B(1,:),B(2,:);C(1,:),C(2,:)] '

结果:NEW =

-7 4 5 1 2 9 8 5 6 -3

7

2

2. 绘制函数曲线,要求写出程序代码 (1)在区间[0,2

]均匀的取50个点,构成向量 X 。

⑵在同一窗口绘制曲线 y 仁sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲线为红色点划线,标记

点为圆圈;y2为蓝色虚线,标记点为星号。

程序代码: t=li nspace(0,2*pi,50);

1.构造矩阵

,B

5 7,C

y1=si n( 2*t-0.3);

y2=3*cos(t+0.5);

plot(t,y1, 'r.' ,t,y2, 'b-');

hold on

plot(t,y1, 'o' ,t,y2, '*');

hold off

3. 写出生成下图所示波形的MATLAB程序。图中三个波形均为余弦波,x范围为[pi/2 ~

2 4 8 10

7*pi/2]。要求它的正半波被置零;且在[,]和[——, ]处被削顶。

3 3 3 3

程序:x=li nspace(pi/2,7*pi/2,100);

y1=cos(x);

figure (1)plot (x,y1 )y1(fi nd(y1>0))=0;

figure(2) plot(x,y1)

n=fi nd((x>2*pi/3 &x<4*pi/3)|(x>8*pi/3 &x<10*pi/3));

y1( n)=cos(2*pi/3);

figure(3)

plot(x,y1)

4 对于x= [—2 n, 2n], y1=si nx、y2=cosx、y3=s in 2x、y4=cos2x

①用MATLAB语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进行标注。

②另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。

Matlab : x=linspace(-2*pi,2*pi,1000);

y1=si n( x);

y2=cos(x);

y3=si n( 2*x);

y4=cos(2*x);

figure(1)

subplot(2,2,1)

plot(x,y1)

xlabel( 'o ax ?±e x=[-2*pi,2*pi]' );

ylabel( ' x Y x ?±e y=sin(x)')

title( 'y=sin(x)? u [-2*pi,2*pi]???? 卩?? u ?? i ?' )

5. 请分析并修改下面的程序,使用矩阵或数组运算的顺序结构完成嵌套

A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); for i=1:1:r

for j=1:1:c

if (A(i,j)>8 | A(i,j)<2) A(i,j)=0; end end end

修改后的 matlab : A=[1 2 3; 4 5 6; 7 8 9]; A(find(A>8|A<2))=0;

A

6. 假 设 a 是 这 样 一 组 数 组 : a(n) a(n 1)2 a(n 2)2 a(n 3)2 , 且 a(1) 0,a(2) 1, a(3) 2。试分别用循环指令 for 以及 while 来寻求该数组中第一个大于 10000 的元素。 Matlab : a(1)=0;

a(2)=1; a( 3)=2; for i=4: inf

a(i)=a(i-1)A 2-a(i-2)A 2+a(i-3)A 2; if a(i)>10000

break end end

subplot(2,2,2) plot(x,y2)

xlabel( 'o ax ?±e x=[-2*pi,2*pi]' ylabel( ' x Y x ? ±e y=cos(x)') title( 'y=cos(x)? u [-2*pi,2*pi]???? subplot(2,2,3); plot(x,y3);

xlabel( 'o ax ?±e x=[-2*pi,2*pi]' ylabel( ' x Y x ?±e y=sin(2x)' ) title( 'y=sin(2x)? u [-2*pi,2*pi]???? subplot(2,2,4); plot(x,y4); xlabel( 'o ax ?± e x=[-2*pi,2*pi]'

ylabel( 'x Y x ?± e y=cos(2x)' ) title( 'y=cos(2x)?

u [-2*pi,2*pi]????

figure(2)

plot(x,y1, 'r-' ,x,y2, 'b.'

,x,y3,

legend( 'y=sin(x)'

, 'y=cos(x)' );

卩??u ??

?' )

);

卩??u ?? ?'

)

);

卩??u ?? ?'

)

'ko' ,x,y4,

'g*'

)

,'y=sin(2x £ ?' ,‘y=cos(2x)'

)

for 语句的相同功

相关文档
最新文档