传递一个变量约束fmincon

2视图(30天)
里法
里法 2023年5月18日
评论道: 里法2023年5月18日
这就跟你问声好!
我用“fmincon”解算器优化函数,数组的输入。优化函数是有趣= @ (x) ((sqrt ((x (1) - a) ^ 2 + (x (2) - b) ^ 2) + sqrt ((x (1) - c) ^ 2 + (x (2) - d) ^ 2)) ^ 2 - (y (nn)) ^ 2) ^ 2。注意,y (nn)变化与“神经网络”。
目前,我在for循环定义‘有趣的’所以我可以通过一个标量“y”。同样,“有趣”的约束函数,即c = sqrt ((x (1) - h) ^ 2 + (x (2) - g) ^ 2) - y (nn)也改变“神经网络”。然而,我不能调用c (x, y (nn))在fimincon和我也不能定义c (x)在for循环的固定值y (nn)。所以,我想问:
  1. 有什么有效的方式通过向量输入“y”fmincon没有定义一个for循环的乐趣吗?
  2. 我怎么通过一个向量参数c (x)除了“x”?
谢谢你!

接受的答案

马特·J
马特·J 2023年5月18日
编辑:马特·J 2023年5月18日
我认为这就是你的意思,
nn = 1: N
ynn = y (nn);
有趣= @ (x) (√(x (1) - a) ^ 2 + (x (2) - b) ^ 2) + sqrt ((x (1) - c) ^ 2 + (x (2) - d) ^ 2)) ^ 2 - (ynn) ^ 2) ^ 2
= @监狱(x) nonlcon (x, ynn h g);
xopt = fmincon (Aeq有趣,x0, A, b,说真的,磅,乌兰巴托,反对);
结束
函数测查[c] = nonlcon (x, y, h, g)
c =√(x (1) - h) ^ 2 + (x (2) - g) ^ 2) - y;
测查= [];
结束
7评论
里法
里法 2023年5月18日
感谢各位的见解!

登录置评。

更多的答案(0)

类别

找到更多的在和迭代解算器输出显示帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!