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 + -
显示快捷键?