【装卸臂项目】【MATLAB】液压阀模型——输入开度输出速度

1、函数关系【开度—匀速度】【开度—启动时间】【开度变化—运动时间】

输入开度和最终液压阀转动速度之间的关系:
在这里插入图片描述
开度和启动时间之间的关系:
在这里插入图片描述
启动之后,开度变化与时间的关系
在这里插入图片描述

2、实现流程

在这里插入图片描述

Simulink框架

在这里插入图片描述
之前用S-function表示这个模型的总是理不清时序逻辑,因为有很多参数受到上一时刻的影响,如果把输出端的数据重新引进输入端,出了各种错误**。后面才意识到可以用全局变量来解决,
如何在Simulink里面添加全局变量参考这篇文章,除了在代码里面申明Global参数以外,还要添加数据存储模块才可以用。
Simulink中matlab Function模块全局变量的使用方法总结
Fcn函数的代码:

function y = fcn(u)
global t_start; % Edit Data中设置初值为零
global C_before;% Edit Data中设置初值为零
global w0 w delt vel
t = u(1);
C = u(2);
if C ~= C_before    
    w0=vel;
    t_start = t;
    
    % 获得w参数
    if C<=0.2
        w = 0;
    else
        w = 3.28168377*C-0.656336753;
    end
    
    % 获得时间间隔delt参数
    if w0 ==0
        if C<= 0.2
            delt = 0;
        elseif C>0.2&&C<=0.45
            delt = -20*C+12;
        else
            delt = 3;
        end
        else    
        if abs(C-C_before)<0.2
            delt = 20*abs(C-C_before);
        else
            delt = 4;
        end    
    end
end
% 根据处于的阶段确定速度
if t-t_start < delt
    vel = (w -w0)/delt * (t-t_start)+w0;
else
    vel = w;        
end
if C ~= C_before
     C_before = C;
end
y = vel;

结果显示,
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个可能的MATLAB代码框架,用于解决这个问题: ```matlab % 定义问题参数 num_agv = 450; % AGV车辆数 num_tasks = ... % 装卸任务数 num_quayside_cranes = ... % 岸桥数 num_yard_cranes = ... % 场桥数 % 定义目标函数和约束条件 % TODO: 根据具体问题定义目标函数和约束条件 % 定义遗传算法参数 options = gaoptimset('PopulationSize', ..., 'Generations', ...); % TODO: 根据具体问题设置遗传算法参数 % 定义适应度函数 fitness_func = @(x) objective_function(x, ...); % TODO: 根据具体问题定义适应度函数 % 调用遗传算法求解 x0 = ... % TODO: 设置初始解 lb = ... % TODO: 设置变量下界 ub = ... % TODO: 设置变量上界 [x, fval] = ga(fitness_func, ..., options); % 输出结果 fprintf('船舶作业时间为 %f\n', fval); % 定义目标函数和约束条件的具体实现 function [f, c] = objective_function(x, ...) % TODO: 实现目标函数和约束条件的计算 end ``` 需要注意的是,上述代码框架只是为了给出一个大致的思路,具体实现还需要根据具体问题进行调整。同时,在实际编程中,还需要注意以下几点: - 由于这是一个混合整数规划问题,因此需要在定义问题时指定变量的类型(整数或连续变量); - 目标函数和约束条件的定义需要根据具体问题进行调整,同时需要考虑到遗传算法的特点,如可行性和适应度函数的计算速度等; - 遗传算法的参数设置对求解效果有很大影响,需要根据具体问题进行调整; - 在实际求解中,可能需要进行多次试验,并调整参数和模型,以获得最优的求解效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值