0
点赞
收藏
分享

微信扫一扫

Java并发编程—JUC线程池架构

精进的医生 2024-03-20 阅读 11
matlab算法

一、一般步骤

生成带有噪声的正态分布数据;定义拟合模型。

model = @(params, x) normpdf(x, params(1), params(2));

初始参数猜测

initial_guess = [mu, sigma];

设置约束条件

lb = [0, 0]; % 参数的最小值
ub = [10, 10]; % 参数的最大值

定义优化问题

opts = optimoptions('fmincon', 'Display', 'iter');  % 使用 fmincon 函数来进行有约束条件的最小化问题求解,以限制拟合结果的最大值和最小值
problem = createOptimProblem('fmincon', 'x0', initial_guess, 'objective', ...
    @(params) sum((model(params, x) - y).^2), 'lb', lb, 'ub', ub, 'options', opts);

执行优化

ms = MultiStart('Display', 'off');
[result_params, ~, ~, ~, ~] = run(ms, problem, 10); % 用多次起始点运行以获得更好的结果

提取最优参数

mu_fit = result_params(1);
sigma_fit = result_params(2);

绘制拟合结果

二、完整程序

按需自取。
链接:https://pan.quark.cn/s/02b703d0fe75

举报

相关推荐

0 条评论