当前位置:文档之家› MATLAB 作业

MATLAB 作业

1.求解方程组sin(x-y)=0,cos(x-y)=0写出求解的MATLAB程序?(写出求解的MATLAB的程序,采用solve命令)
答案
>> [x,y]=solve('sin(x-y)=0','cos(x+y)=0','x','y')
x =
-1/4*pi
1/4*pi
y =
-1/4*pi
1/4*pi
2.设3x’’-5x’+6x=y,x(0)=3,x’(0)=0,求y(5)的值?(写出求解该微分方程的MATLAB程序,用dsolve命令)
%ex1_9.m
f='3*D2x-5*x+6*x-y=0';x=dsolve(f,'Dx(0)=0,x(0)=0','y')
%ex1_10.m
y=solve('-sin(1/3*3^(1/2)*y)*3^(1/2)+y-x=0','x=5','x','y')
x =
-sin(1/3*3^(1/2)*y)*3^(1/2)+y
y =
x: [1x1 sym]
y: [1x1 sym]
3.
1 3 5 7
A= 9 2 4 6 求B=A^T,C=A^-1,用for循环
8 10 3 5
求解A各元素的和,以及A中的最小元
答案
>> A=[1 3 5 7;9 2 4 6;8 10 3 5],B=A'
A =
1 3 5 7
9 2 4 6
8 10 3 5
B =
1 9 8
3 2 10
5 4 3
7 6 5
%ex1_5.m
s=0
m=A(1,1)
for i=1:3
for j=1:4
if ( A(i,j)<=m ) ;
m=A(i,j)
end
s=s+A(i,j)
end
end
m
s
m=1
s=63
实验一 MATLAB 语言的控制语句
实验学时: 2 学时
实验目的:
1、了解MATLAB 语言的体系结构及MATLAB 语言的特点;
2、掌握MATLAB 循环语句、条件转移语句等的使用方法,能编写相应程序实现所需功能。

实验内容:
一、使用 for 循环、while 循环计算6302i i k ==

1、for 循环
确定循环变量的起始值、终止值;
编写循环语句组,实现所需功能;
运行程序,并记录结果。

2、while 循环
确定循环的条件表达式;
编写循环语句组,实现所需功能;
运行程序,并记录结果。

二、采用搜寻法寻找矩阵23121416524332372148656166
646463A ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦
中最小的元素,以及它的位置。

实验报告:
要求给出相应的程序完成实验内容,并给出程序运行结果。

答案
%ex1_7.m
s=0
for i=1:63
s=s+2^i
end
my=0;j=1
while(j<=63)
j=j+1; my=my+2^j
end
A=[23 12 14 16;52 43 32 37;21 48 65 61;66 64 64 63]
min=A(1,1)
for k=1:4
for m=1:4
if A(k,m)<=min
min=A(k,m)
end
end
end
结果s = 1.8447e+019
my =3.6893e+019
min =12
实验二建立MATLAB文本文件
实验学时:2 学时
实验目的:
1、掌握MATLAB 的基本操作,编写满足要求的m 文件。

2、掌握MATLAB 的图形绘制方法。

实验内容:
绘制正弦曲线和余弦曲线。

1、新建m 文件,并对文件进行命名,名字为figure.m。

2、编写m 文件内容:
绘制正弦曲线,取值范围为[0,2]π,以0.1为步长;
绘制余弦曲线,取值范围为[0,2]π,以0.1为步长;
正弦曲线为红色,余弦曲线为蓝色,线宽为2;
要求将图形分割成31⨯个部分,第一个图为正弦曲线,第二个为余弦曲线,第三章为正弦曲线和余弦曲线在一个图内。

3、在命令窗口调用m 文件,运行程序。

实验报告:
要求给出相应的程序完成实验内容。

答案
%figure.m
subplot(3,1,1)
x=0:0.1:2*pi;plot(x,sin(x),'-r','linewidth',2)
subplot(3,1,2)
plot(x,cos(x),'-b','linewidth',2)
subplot(3,1,3)
plot(x,sin(x),'-r',x,cos(x),'-b','linewidth',2)
实验三 控制系统数学模型的表达和转换
实验学时: 2 学时
实验目的:
1、了解控制系统不同的数学模型表示方法;
2、实现不同数学模型间的转换。

实验内容:
若给定系统的传递函数为:
32432()612610()()231
Y s s s s G s U s s s s s +++==++++ 1、将其在MATLAB 工作空间中表示,并显示出来;
2、将其转换成零极点形式;
3、将其转换成状态空间形式;
4、将其转换成部分分式形式。

答案
%ex1_10.m
num=[6 12 6 10];den=[1 2 3 1 1];printsys(num,den)
[Z,P,K]=tf2zp(num,den)
[A,B,C,D]=tf2ss(num,den)
[R,P,H]=residue(num,den)
结果num/den =
6 s^3 + 12 s^2 + 6 s + 10
----------------------------
s^4 + 2 s^3 + 3 s^2 + s + 1 Z =
-1.9294
-0.0353 + 0.9287i
-0.0353 - 0.9287i
P =
-0.9567 + 1.2272i
-0.9567 - 1.2272i
-0.0433 + 0.6412i
-0.0433 - 0.6412i
K = 6
A =
-2 -3 -1 -1
1 0 0 0
0 1 0 0
0 0 1 0
B =
1
C =
6 12 6 10
D = 0
R =
3.4447 - 1.7233i
3.4447 + 1.7233i
-0.4447 - 1.8113i
-0.4447 + 1.8113i
P =
-0.9567 + 1.2272i
-0.9567 - 1.2272i
-0.0433 + 0.6412i
-0.0433 - 0.6412i
H =
[]
控制系统模型的连接
实验学时:2 学时
实验目的:
1、掌握MATLAB 控制工具箱,实现不同数学模型间的转换。

实验内容:
已知系统方框图,求系统的传递函数。

1、求取系统传递函数。

通过series 函数实现子系统间的串联连接;
通过feedback 实现子系统间的反馈连接;
通过series 函数实现子系统间的串联连接;
通过feedback 函数或者cloop 函数实现子系统间的单位反馈连接。

将系统总的传递函数在MATLAB工作空间中表示出来。

实验报告:要求给出相应的程序完成实验内容,并给出程序运行结果。

答案%ex1_11.m
num1=[10];den1=[1 1];num2=[1];den2=[2 0.5];
num3=[540];den3=[1];num4=[0.1];den4=[1];
[na,da]=series(num1,den1,num2,den2);
[nb,db]=feedback(na,da,num4,den4);
[nc,dc]=series(num3,den3,nb,db);
[num,den]=cloop(nc,dc,-1);printsys(num,den)
结果num/den =
5400
----------------------
2 s^2 + 2.5 s + 5401.5。

相关主题