TC1339 2023-05-08 20:56 采纳率: 100%
浏览 31
已结题

simulink模糊控制器及pid提问

img


请问怎么做到如图所示的,在一个subsystem里做到将多个输入量置入同一个fuzzy控制控制器和pid控制器里,以及输出多个量
我自己刚接触不久,发现fuzzy和pid只能有一个输入量啊(图2

img


  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-09 08:12
    关注

    答案:

    可以使用mux和demux来实现多个输入量进入同一个子系统的模糊控制器和PID控制器,并输出多个量。

    具体步骤如下: 1.在输入信号处使用mux合并多个输入变量。 2.使用demux将模糊控制器或PID控制器的多个输出变量分离。 3.确保每个输出变量都正确地连接到相应的信号输出。 4.调整量化因子和比例因子,使实际输入输出在正确的范围内。

    以下是使用mux和demux实现多个输入和输出变量的简单示例代码。假设有两个输入变量E和F,以及三个输出变量kp,ki和kd。将它们全部置于同一个控制器模块中:

    model = 'myModel';
    open_system(model);
    
    % 计算输入量E和F的和
    sum = add_block('built-in/Sum', [model '/Sum']);
    set_param(sum, 'Inputs', '+-');
    
    % 合并两个输入量E和F
    mux = add_block('built-in/Mux', [model '/Mux']);
    set_param(mux, 'Inputs', '2');
    
    % 输入信号E和F
    in1 = add_block('built-in/Inport', [model '/In1']);
    set_param(in1, 'Port', '1');
    in2 = add_block('built-in/Inport', [model '/In2']);
    set_param(in2, 'Port', '2');
    
    % 中间变量连接
    add_line(model, 'In1/1', 'Mux/1');
    add_line(model, 'In2/1', 'Mux/2');
    add_line(model, 'Mux/1', 'Sum/1');
    
    % 模糊控制器中的输出变量??kp、ki、kd经过分离得到
    demux = add_block('built-in/Demux', [model '/Demux']);
    set_param(demux, 'Outputs', '3');
    
    % 输出信号kp、ki、kd
    out1 = add_block('built-in/Outport', [model '/Out1']);
    set_param(out1, 'Port', '1');
    out2 = add_block('built-in/Outport', [model '/Out2']);
    set_param(out2, 'Port', '2');
    out3 = add_block('built-in/Outport', [model '/Out3']);
    set_param(out3, 'Port', '3');
    
    % 模块之间的连接
    add_line(model, 'Sum/1', 'Demux/1');
    add_line(model, 'Demux/1', 'Out1/1');
    add_line(model, 'Demux/2', 'Out2/1');
    add_line(model, 'Demux/3', 'Out3/1');
    
    % 调整量化因子和比例因子
    set_param([model '/In1'], 'OutMin', '-100');
    set_param([model '/In1'], 'OutMax', '100');
    set_param([model '/In1'], 'Quantization', '0.01');
    set_param([model '/Out1'], 'OutMin', '-10');
    set_param([model '/Out1'], 'OutMax', '10');
    set_param([model '/Out1'], 'Scale', '0.1');
    

    注意:需要根据具体情况调整量化因子和比例因子。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月18日
  • 已采纳回答 5月10日
  • 创建了问题 5月8日