在matlab中使用遗传算法工具箱时,向ga函数的fun句柄传入除了拟合参数外的其他参数的方法

在matlab中使用遗传算法工具箱时,可以使用

fun=@(para)function_0(para,t_b,c_b);

向误差函数传入除了拟合参数外的其他参数。

 

测试脚本solution.m:

clear;
clc;

tic;        % 计时函数开始
%% 参数范围
% ca100属于[0,1000];k属于[0,1];
k1=[600 0];
k2=[1000 2];

% 拟合数据
t_b=[100,200,300,400,500,600,700,800,900,1000];
c_b=[454,499,535,565,590,610,626,639,650,659];

%% 遗传算法求解
Value=1e-3;         % 设定函数误差的阈值

% 遗传函数ga的调用
options=optimoptions('ga','TolFun',1e-8,'populationsize',300,'generations',2000,...
    'stallgenlimit',50,'stalltimelimit',30,'ConstraintTolerance',1e-6,...
    'fitnesslimit',Value,'crossoverfraction',0.85,'migrationfraction',0.2);   % 设置option参数

fun=@(para)function_0(para,t_b,c_b);           % 为优化函数传递独立变量

[para

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值