sys_fuc.m
来自「MatLab环境下编程实现简单交互式单纯形法进行寻优并显示寻优结果。」· M 代码 · 共 35 行
M
35 行
%目标函数计算程序
function Q=SYS_FUC(K1,T1)
num=[10*K1*T1 0];
den=[2*T1 2+T1 1 0];
[a b c d]=tf2ss(num,den);%传递函数转换成状态空间表示形式
%四阶龙格库塔法计算程序
h=0.003;
n=10000;
y1=ones(1,n);
x=[0;0;0];
y1(1,1)=0;
for i=2:n
u=1-y1(1,i-1);
k1=a*x+b*u;
k2=a*(x+h*k1/2)+b*u;
k3=a*(x+h*k2/2)+b*u;
k4=a*(x+h*k3)+b*u;
x1=x+h/6*(k1+2*k2+2*k3+k4);
y=c*x+d*u;
x=x1;
y1(1,i)=y;
end
%计算Q的值
Q=0;
for j=1:n
f=abs(1-y1(1,j));
%Q=Q+h*f*j*(150-0)/n;
Q=Q+j*h*h*f;
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?