控制系统仿真技术(一)仿真软件-MATLAB
作者:互联网
太原理工大学控制系统仿真技术实验报告
- 在 MATLAB下输入矩阵 , ,并使用以下命令要求输出结果:A& B , A|B ,xor(A,B), A.*B。
答案:
>> A=[1 2 3;4 5 0;7 8 9];B = [1 0 3;1 5 0;0 1 2];
>> A&B
>> A|B
>> xor(A,B)
>> A.*B
2.编写如下的分段函数:
给出自变量 x 的值,调用该函数后,返回 y 的值。
%建立分段函数
%ex1_2.m
function [y] = ex1_2(x)
if(x<=0)
y=sin(x);
end
if(x>0&&x<=3)
y=x;
end
if(x>3)
y=-x+6;
end
end
3. 用循环语句和向量化两种方法解决级数求和问题:
并对两种方法的时间复杂度进行分析。
%循环语句和向量法求级数求和
%循环语句
i=1;s=0;
tic
while(i<=100000)
s=s+(1/2^i)+(1/3^i);
i=i+1;
end
toc
s
%向量法
s=0;a=[1:100000];
tic
for i=1:100000
s=s+(1/2^a(i))+(1/3^a(i));
end
toc
s
观察可知:用循环语句计算,需要0.021513 s,用向量化计算,需要0.021148 s。因此,向量化法更节省时间,时间复杂度更小。
- 编写函数,求满足
(N 为任意正数)的最小 m 值。并给定 N 值,调用函数,得到 m 值和
%求累加不大于N的m
%ex1_4.m
function [m,sum] = ex1_4(N)
sum=0;
for m=1:N
sum=sum+m;
if(sum>N)
break;
end
end
end
5. 在同一坐标系下分别绘制正弦(点划线,红色,线宽 2 磅)、余弦(圆圈线,黑色,线宽 1.5磅)两条曲线,并给出图例。
%绘制两条曲线
%ex1_5.m
x=0:0.1:2*pi;
y1=sin(x);y2=cos(x);
p=plot(x,y1,x,y2);
p(1).Color='r';
p(1).LineStyle='-.';
p(1).LineWidth=2;
p(2).Color='k';
p(2).Marker='o';
p(2).LineWidth=1.5;
gtext('点划线 y=sin(x)');
gtext('圆圈线 y=cos(x)');
%正常写法为plot(x1,y1,选项,x2,y2,选项)
%title('')
%xlabel('')
%ylabel('')
%grid 增加网格
%利用鼠标绘制图像 [x,y,button]=ginput(n)
6. 试绘制出函数方程 在 区间内的曲线,并采 用不同的步长来验证图形的准确性。
>> x = -pi:0.1:pi;y = sin(tan(x))-tan(sin(x));plot(x,y)
>> x = -pi:0.01:pi;y = sin(tan(x))-tan(sin(x));plot(x,y)
>> x = -pi:0.001:pi;y = sin(tan(x))-tan(sin(x));plot(x,y)
>> x = -pi:0.0001:pi;y = sin(tan(x))-tan(sin(x));plot(x,y)
观察图可知,步长越小,图形越准确。
7.以正弦数据为例,由语句将图形分割成 2行 2列的区域,在不同区域绘制正弦信号的不同表示。
%2行2列图形
%ex1_7.m
x=0:0.1:2*pi;
y=sin(x);
subplot(2,2,1);stairs(x,y);
subplot(2,2,2);stem(x,y);
subplot(2,2,3);bar(x,y);
subplot(2,2,4);semilogx(x,y);
标签:仿真,plot,sum,MATLAB,ex1,仿真技术,tan,pi,sin 来源: https://blog.csdn.net/weixin_46424753/article/details/122438810