控制工程中的程序设计.docx
- 文档编号:10631912
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:13
- 大小:100.27KB
控制工程中的程序设计.docx
《控制工程中的程序设计.docx》由会员分享,可在线阅读,更多相关《控制工程中的程序设计.docx(13页珍藏版)》请在冰豆网上搜索。
控制工程中的程序设计
《控制工程中的程序设计》
大作业
班级:
学号:
姓名:
2015年5月1日
1.(20分)考虑以下迭代公式:
其中a、b为正数,要求:
1)编写程序求迭代的结果,迭代的终止条件为|xn+1-xn|≤10-5,迭代初值x0=1.0,迭代次数不超过500次。
2)如果迭代过程收敛于r,那么r的准确值是
,当(a,b)的值取(1,1)、(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。
a=input('a=');%输入a的值
b=input('b=');%输入b的值
x=1.0;%迭代变量,确定初值
n=0;%初始迭代次数
whileabs(x-a/(b+x))>1e-5%终止条件
ifn<=500%迭代次数限制
x=a/(b+x);
n=n+1;
end
end
n
x
r
(1)=(-b+sqrt(b*b+4*a))/2
r
(2)=(-b-sqrt(b*b+4*a))/2%输出r的准确值
s=r-x%迭代结果和准确值进行比较
实验结果:
1.
a=1
b=1
n=
12
x=
0.6180
r=
0.6180-1.6180
r=
0.6180-1.6180
s=
-0.0000-2.2361
2.
a=8
b=3
n=
12
x=
1.7016
r=
1.7016-1.6180
r=
1.7016-4.7016
s=
0.0000-6.4031
3.
a=10
b=0.1
n=
423
x=
3.1127
r=
3.1127-4.7016
r=
3.1127-3.2127
s=
-0.0000-6.3254
2.(15分)一系统可用下列方程组来表示:
从键盘输入m1、m2和θ的值,求a1、a2、N1和N2的值。
其中g取9.8,输入θ时以角度为单位。
要求:
定义一个求解线性方程组AX=B的函数文件,然后在命令文件中调用该函数文件。
函数fc.M文件:
functionX=fc(A,B)
%fcfc是求解线性方程的函数
%AA是未知矩阵的系数矩阵
X=A\B;
命令M文件:
clc;
m1=input('m1=');%输入m1的值
m2=input('m2=');%输入m2的值
theta=input('theta=');输入theta的值
x=theta*pi/180;
g=9.8
A=[m1*cos(x)-m1-sin(x)0
m1*sin(x)0cos(x)0
0m2-sin(x)0
00-cos(x)1];%输入矩阵A
B=[0;m1*g;0;m2*g];%输入矩阵B
X=fc(A,B)
实验结果:
m1=1
m2=1
theta=30
X=
7.8400
3.3948
6.7896
15.6800
3.(20分)绘制极坐标曲线ρ=a*sin(b+nθ),并分析参数a、b、n对曲线形状的影响。
theta=0:
pi/100:
2*pi;
a=input('输入a=');%输入a的值
b=input('输入b=');%输入b的值
n=input('输入n=');%输入n的值
rho=a*sin(b+n*theta);%极半径
polar(theta,rho,'r')%绘制二维极坐标图形。
采用控制变量法的办法,固定两个参数,变动第三个参数观察输出图象的变化。
结果:
a=b=n=2a=b=n=3
a=b=c=4
a=2,b=3,c=2a=2,b=4,c=2
a=2,b=5,c=2
a=3,b=2,c=2a=4,b=2,c=2
a=5,b=2,c=2
分析结果:
由这9个图知道,
当a,n固定时,图形的形状也就固定了,b只影响图形的旋转的角度;
当a,b固定时,n只影响图形的扇形数,特别地,当n是奇数时,扇叶数就是n,当是偶数时,扇叶数则是2n个;
当b,n固定时,a影响的是图形大小,特别地,当a是整数时,图形半径大小就是a。
4.(15分)若一个数等于它的各个真因子之和,则称该数为完数,如
6=1+2+3,所以6是完数。
求[1,500]之间的全部完数。
form=1:
500
sum=0;%sum初始化
forn=1:
m/2% 循环从1开始,步进是1,到m/2结束
ifrem(m,n)==0%无符号取余
sum=sum+n;
end
end
ifsum==m%判断如果sum和m相等
forn=1:
m/2%循环从1开始,步进是1,到m/2结束
ifrem(m,n)==0
sum=sum+n;
disp(['约数:
',num2str(n)]);%显示约数
end
end
disp(['结果************',num2str(m)]);%显示完数
end
end
运行结果:
约数:
1
约数:
2
约数:
3
结果************6
约数:
1
约数:
2
约数:
4
约数:
7
约数:
14
结果************28
约数:
1
约数:
2
约数:
4
约数:
8
约数:
16
约数:
31
约数:
62
约数:
124
约数:
248
结果************496
5.(15分)求非齐次线性方程组的通解。
A=[357;612;-8913]
B=[1-46;294;73-2]
C=[AB]%生成3*6矩阵
D=[A;B]%生成6*3矩阵
P=[C(2,1)C(2,4)C(2,5);C(3,1)C(3,4)C(3,5)]%提取C的第2和3行,1/4/5列
AA=[2731;3522;9417]%系数矩阵
b=[6;4;2]
[m,n]=size(AA)
R=rank(AA)%求系数矩阵的秩
BB=[AAb]%增广矩阵
Rr=rank(BB)%求增广矩阵的秩
formatrat
ifR==Rr&R==n%n为未知数的个数,判断是否有唯一解
x=AA\b%唯一解
elseifR==Rr&R x=AA\b%求特解 C=null(AA,'r')%求AX=0的基础解系,所得C为n-R列矩阵,这n-R列即为对应的基础解系 %这种情形方程组通解xx=k(p)*C(: P)(p=1n-R) elseX='Nosolution! '%判断是否无解 end X='K1*C(: 1)+K2*C(: 2)+x'%非齐次线性方程组的通解 6.(15分)已知空调机组部分的数学模型为: 设采样时间T=1s,给定输入为单位阶跃信号,试采用PID控制方案。 y1(k)=0.848y1(k-1)+1.4687u1(k-1)+0.2381u2(k-1) 解: clear all; close all; u1_1=0.0;u1_2=0.0; u2_1=0.0;u2_2=0.0; y1_1=0;y2_1=0; x1=[0;0];x2=[0;0];x3=[0;0]; kp=0.285; ki=0.098; kd=0.0022; error_1=[0;0]; ts=1; for k=1: 1: 150 time(k)=k*ts; R=[0;1];%PID Decouple Controller u1(k)=kp*x1 (1)+kd*x2 (1)+ki*x3 (1); u2(k)=kp*x1 (2)+kd*x2 (2)+ki*x3 (2); u=[u1(k),u2(k)]; if u1(k)>=10 u1(k)=10; end if u2(k)>=10 u2(k)=10; end if u1(k)<=-10 u1(k)=-10; end if u2(k)<=-10 u2(k)=-10; end %Coupling Plant yout1(k)= (0.848*y1_1+1.4687*u1_1+0.2381*u2_1); yout2(k)= (0.7678*y2_1+0.8536*u1_1+1.021*u2_1); error1(k)=R (1)-yout1(k); error2(k)=R (2)-yout2(k); error=[error1(k);error2(k)]; u1_2=u1_1;u1_1=u (1); u2_2=u2_1;u2_1=u (2); y1_1=yout1(k); y2_1=yout2(k); x1=error; %Calculating P x2=(error-error_1)/ts; %Calculating D x3=x3+error*ts; %Calculating I error_1=error; end figure (1); plot(time,R (1),'k',time,yout1,'b'); hold on; plot(time,R (2),'k',time,yout2,'r'); xlabel('time(s)');ylabel('rin,yout');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制工程 中的 程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)