自动控制原理及系统实验报告
实验一 MATLAB基础
一、 1.1.7 课内练习
1.1.1 已知矩阵A=[1 0 -1;2 4 1;-2 4 1;-2 0 5],B=[0 -1 0;2 1 3;1 1 2],试求2A+B、A*B、A.*B、A/B、A\B、A./B、A.\B。
解:
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=2*A+B
C =
2 -1 -2
6 9 5
-3 1 12
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=A*B
C =
-1 -2 -2
9 3 14
5 7 10
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=B*A
C =
-2 -4 -1
-2 4 14
-1 4 10
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=A.*B
C =
0 0 0
4 4 3
-2 0 10
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=A/B
C =
-2.0000 3.0000 -5.0000
-5.0000 3.0000 -4.0000
7.0000 -9.0000 16.0000
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=A\B
C =
0.3333 -1.3333 0.6667
0.2500 1.0000 0.2500
0.3333 -0.3333 0.6667
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=A./B
Warning: Divide by zero.
C =
Inf 0 -Inf
1.0000 4.0000 0.3333
-2.0000 0 2.5000
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=A.\B
Warning: Divide by zero.
C =
0 -Inf 0
1.0000 0.2500 3.0000
-0.5000 Inf 0.4000
1.1.2利用函数产生3行4列单元矩阵和全部元素都是3的四行四列常数矩阵。
解:
>> eye(3,4)
ans =
1 0 0 0
0 1 0 0
0 0 1 0
>> 3*ones(4,4)
ans =
3 3 3 3
3 3 3 3
3 3 3 3
3 3 3 3
1.1.3 当前窗口分成四个区域,用不同的颜色和不同线型线条分别绘制x ,sin(x),xcos(x) 在x=(0 π) 的曲线,并根据需要调整坐标轴的大小、加入文字标示和网格。
解:
结果:
1.1.4 在极坐标中绘制函数cos(x)和sin (x ),t=[0 2π]区间的曲线图。
解:
>> t=linspace(0,2*pi);y=cos(t);polar(t,y,'k--')
>> t=linspace(0,2*pi);y=sin(t);polar(t,y,'m-.')
1.1.8 课外实验
1.1.2 在同一坐标内,划出一条正弦曲线和一条余弦曲线,要求正弦曲线用红色实线、数据点用“+”号显示;余弦曲线用黑色点线、数据点用“*”号表示。并给图形加入网格和标注。
解
1.1.3 有一个两位数,用2除余1,用3除余2,用4除余3,用5除余4,用6除余5,试求此数。
解:
>> x=10:99;
>> f=find(mod(x,2)==1&mod(x,3)==2&mod(x,4)==3&mod(x,5)==4&mod(x,6)==5)
f =
50
>> n=x(f)
n =
59
二、碰到的问题,解决的方法
1、求矩阵和
2A+B
缺少操作符,少了*号。
2、
程序中不能出现中文字符,应全部用英文字符。
3、绘制xcos(x)的图形
内矩阵维度必须一致。把xcos (x )直接写成了x*cos(x ),造成运行出错。把x*cos(x )改成x.*cos(x )运行则得到了正确的结论。在matlab 中*与.*是完全不同的两种运算,前者是正常的向量乘法,后者是向量中元素逐个互乘。
三、实验心得
1、Matlab 是一个功能强大工具,对于我们学习有很大帮助,应该学习和掌握一些基本使用操作方法。
2、需要掌握 M文件的使用。
3、matlab 中所有字符均为英文字符,否则会出现错误。
4、运行中总是出现各种运行错误,应根据提示仔细查找所错之处。
自动控制原理及系统实验报告
实验一 MATLAB基础
一、 1.1.7 课内练习
1.1.1 已知矩阵A=[1 0 -1;2 4 1;-2 4 1;-2 0 5],B=[0 -1 0;2 1 3;1 1 2],试求2A+B、A*B、A.*B、A/B、A\B、A./B、A.\B。
解:
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=2*A+B
C =
2 -1 -2
6 9 5
-3 1 12
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=A*B
C =
-1 -2 -2
9 3 14
5 7 10
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=B*A
C =
-2 -4 -1
-2 4 14
-1 4 10
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=A.*B
C =
0 0 0
4 4 3
-2 0 10
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=A/B
C =
-2.0000 3.0000 -5.0000
-5.0000 3.0000 -4.0000
7.0000 -9.0000 16.0000
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=A\B
C =
0.3333 -1.3333 0.6667
0.2500 1.0000 0.2500
0.3333 -0.3333 0.6667
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=A./B
Warning: Divide by zero.
C =
Inf 0 -Inf
1.0000 4.0000 0.3333
-2.0000 0 2.5000
>> A=[1 0 -1;2 4 1;-2 0 5];B=[0 -1 0;2 1 3;1 1 2];C=A.\B
Warning: Divide by zero.
C =
0 -Inf 0
1.0000 0.2500 3.0000
-0.5000 Inf 0.4000
1.1.2利用函数产生3行4列单元矩阵和全部元素都是3的四行四列常数矩阵。
解:
>> eye(3,4)
ans =
1 0 0 0
0 1 0 0
0 0 1 0
>> 3*ones(4,4)
ans =
3 3 3 3
3 3 3 3
3 3 3 3
3 3 3 3
1.1.3 当前窗口分成四个区域,用不同的颜色和不同线型线条分别绘制x ,sin(x),xcos(x) 在x=(0 π) 的曲线,并根据需要调整坐标轴的大小、加入文字标示和网格。
解:
结果:
1.1.4 在极坐标中绘制函数cos(x)和sin (x ),t=[0 2π]区间的曲线图。
解:
>> t=linspace(0,2*pi);y=cos(t);polar(t,y,'k--')
>> t=linspace(0,2*pi);y=sin(t);polar(t,y,'m-.')
1.1.8 课外实验
1.1.2 在同一坐标内,划出一条正弦曲线和一条余弦曲线,要求正弦曲线用红色实线、数据点用“+”号显示;余弦曲线用黑色点线、数据点用“*”号表示。并给图形加入网格和标注。
解
1.1.3 有一个两位数,用2除余1,用3除余2,用4除余3,用5除余4,用6除余5,试求此数。
解:
>> x=10:99;
>> f=find(mod(x,2)==1&mod(x,3)==2&mod(x,4)==3&mod(x,5)==4&mod(x,6)==5)
f =
50
>> n=x(f)
n =
59
二、碰到的问题,解决的方法
1、求矩阵和
2A+B
缺少操作符,少了*号。
2、
程序中不能出现中文字符,应全部用英文字符。
3、绘制xcos(x)的图形
内矩阵维度必须一致。把xcos (x )直接写成了x*cos(x ),造成运行出错。把x*cos(x )改成x.*cos(x )运行则得到了正确的结论。在matlab 中*与.*是完全不同的两种运算,前者是正常的向量乘法,后者是向量中元素逐个互乘。
三、实验心得
1、Matlab 是一个功能强大工具,对于我们学习有很大帮助,应该学习和掌握一些基本使用操作方法。
2、需要掌握 M文件的使用。
3、matlab 中所有字符均为英文字符,否则会出现错误。
4、运行中总是出现各种运行错误,应根据提示仔细查找所错之处。