通过使用MATLAB优化多个约束变量来查找最小值

jamal_ch

我有数据值y,可以通过y=A x B x exp(C)其中AC为变量且B为常数的函数来计算y给出了不同的数据值B我想确定变量AC

我的想法是定义给定数据y与计算数据yy_calc之间的比率y_calc将使用和的值计算,这些值AC实际变量A接近C因此,需要针对所有y_calc不同情况使该比率最小化B-> ratio = ((y - y_calc)/(y + y_calc))^2

此外,存在用于约束AC(例如A<10C>20)。我还想为比率定义约束(例如ratio<1e-5

我想用MATLAB解决这个问题。不幸的是,我不知道我必须使用许多可用功能中的哪一个以及如何应用这些功能。

谁能帮我?这样甚至可以解决我的问题吗?谢谢你。

尼米兹14

我假设您像其他用户建议的那样在OP中输入了错字。

您的入门思路朝着正确的方向发展,请查找“成本函数”。

您可以使用fminsearch函数。我在这方面不是那么有知识,因为我是最近才学到的,大部分时间都是将SVD方法(再次查找)用于此类工作。

这应该工作

clear all 
close all
clc

B = [1,2,3,4,5];     % test values B
y = [3,5,7,9,15];    % test values y
vParam = [1,1];      % starting test value A and C

fct='fct';
options=optimset('TolX', 1.e-4, 'TolFun', 1.e-4, 'MaxFunEvals', 1500,'MaxIter', 500);

[vParam_optimized] = fminsearch(fct,vParam,options,B,y);

fit = vParam_optimized(1).*B.*exp(vParam_optimized(2));

plot(fit)
hold on
plot(y,'*')

function y=fct(vParam,B,y_meas)
% Parameters, x values, y result values

    y=0;

    for i=1:length(B)
        y=y+(y_meas(i)-(vParam(1)*B(i)*exp(vParam(2)))).^2; % cost function
    end

end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Matlab查找全局最小值?

来自分类Dev

通过在 sql 中对多个列进行分组来查找列中的最小值

来自分类Dev

使用选择总和查询来查找总和的最大值和最小值

来自分类Dev

使用for循环查找最小值

来自分类Dev

优化全局最小值

来自分类Dev

优化全局最小值

来自分类Dev

在行中查找最小值并计算Matlab中每列的最小值总数

来自分类Dev

通过在MATLAB / Python中优化多个变量来减少两个图之间的差异?

来自分类Dev

通过在顶部显示最小值来执行mysql排序

来自分类Dev

仅使用else-if语句(C ++)查找4个变量中的最小值

来自分类Dev

在python中仅使用max函数查找变量的最小值

来自分类Dev

通过Spark组查找时间戳的最小值

来自分类Dev

使用 Matlab 或 Matlab 符号工具查找受约束边界变量的函数的最大值?

来自分类Dev

使用Comparable查找最大值/最小值

来自分类Dev

使用awk查找最小值和最大值?

来自分类Dev

通过使用项目名称查找最小值,并使用jquery更改html表中的低值背景颜色

来自分类Dev

在 where 子句中使用子查询来查找第二个最小值

来自分类Dev

熊猫数据框通过绝对值优化获得最大值和最小值

来自分类Dev

Matlab:矩阵的最小值

来自分类Dev

使用summarise()来计算重复最小值的次数

来自分类Dev

如何使用SPSS查找所有变量的最大值和最小值并在表格中显示?

来自分类Dev

选择多个最小值

来自分类Dev

SQL:多个最小值

来自分类Dev

使用scipy.optimize.minimize查找全局最小值

来自分类Dev

使用XPath 1.0查找最小值不起作用

来自分类Dev

使用python查找不为null的最小值

来自分类Dev

使用AWK查找间隔中的最小值

来自分类Dev

如何使用rollapply函数查找局部最小值?

来自分类Dev

使用STL在list <MyStruct>中查找成员的最小值

Related 相关文章

  1. 1

    使用Matlab查找全局最小值?

  2. 2

    通过在 sql 中对多个列进行分组来查找列中的最小值

  3. 3

    使用选择总和查询来查找总和的最大值和最小值

  4. 4

    使用for循环查找最小值

  5. 5

    优化全局最小值

  6. 6

    优化全局最小值

  7. 7

    在行中查找最小值并计算Matlab中每列的最小值总数

  8. 8

    通过在MATLAB / Python中优化多个变量来减少两个图之间的差异?

  9. 9

    通过在顶部显示最小值来执行mysql排序

  10. 10

    仅使用else-if语句(C ++)查找4个变量中的最小值

  11. 11

    在python中仅使用max函数查找变量的最小值

  12. 12

    通过Spark组查找时间戳的最小值

  13. 13

    使用 Matlab 或 Matlab 符号工具查找受约束边界变量的函数的最大值?

  14. 14

    使用Comparable查找最大值/最小值

  15. 15

    使用awk查找最小值和最大值?

  16. 16

    通过使用项目名称查找最小值,并使用jquery更改html表中的低值背景颜色

  17. 17

    在 where 子句中使用子查询来查找第二个最小值

  18. 18

    熊猫数据框通过绝对值优化获得最大值和最小值

  19. 19

    Matlab:矩阵的最小值

  20. 20

    使用summarise()来计算重复最小值的次数

  21. 21

    如何使用SPSS查找所有变量的最大值和最小值并在表格中显示?

  22. 22

    选择多个最小值

  23. 23

    SQL:多个最小值

  24. 24

    使用scipy.optimize.minimize查找全局最小值

  25. 25

    使用XPath 1.0查找最小值不起作用

  26. 26

    使用python查找不为null的最小值

  27. 27

    使用AWK查找间隔中的最小值

  28. 28

    如何使用rollapply函数查找局部最小值?

  29. 29

    使用STL在list <MyStruct>中查找成员的最小值

热门标签

归档