最小化问题不给预期的结果

3视图(30天)
你好,
我试图找到最小化一个函数的系数。
我已经创建了一些假的数据相同的功能,从一些猜测。我想找系数基于虚假数据来验证我的代码但我得到意想不到的结果。上面两行应该彼此,因为这绝对是该函数可以做的事情。
我不知道我错在我的代码,非常感谢你能提供的任何帮助。
下面的代码,我也上传的所有文件需要重建结果。
clc;清晰的所有;关闭所有;
% %的位置点力量
xx = (1.5, 1.5, -0.5, 0.4, 0.4);% X stokeslets的位置
yy = [3 3 0、1.25、-1.25);% Y stokeslets的位置
pfl = (0,0);%位势流的位置(x, y)
% %进口假数据
负载(“fakemodel.mat”)
% %优化
simply_velo = @ (sf_arg) velopt (sf_arg posx,花束,xx, yy, sf_arg (:, 6), pfl);%计算函数最小化,虽然我有数据的地方
%函数最小化
有趣= @ (sf_arg) nan_norm (((speed_fake simply_velo (sf_arg)) ^ 2));%相对误差
% %创建非线性约束
sf_ini = (1.5, 1.5, 3, 3, 3, 6);%初始猜测变量
A = [0 0 0 1 0 0;0 0 0 0 1 0;1 1 0 0 0 0;0 0 0 0 0 1;0 0 1 0 0 0);% * x < b
b = [0;0;0;0,0];% b = ()
Aeq = [1 1 0 0 0 0;0 2 1 0 0 0;0 0 0 1 1 0;1 1 1 1 1 0);% Aeq * x =说真的
说真的= [0;0;0,0];%说真的
错误= 0 (50,6);
sav_fm = 0 (50, 6);
i = 1: 50
sf_ini =兰德(大小(sf_ini));
% = optimset选项(“显示”,“通路”,“MaxFunEvals”, 600年,“PlotFcns”, @optimplotfval, TolFun, 1的军医,TolX, 1的军医);
选择= optimset (“MaxFunEvals”,6000,“TolFun”1 e15汽油,“TolX”1 e15汽油);
[调频,fval] = fmincon(乐趣、sf_ini A、b Aeq,说真的,[],[],[],选项);% f分钟搜索
:sav_fm(我)=调频(:);
Fval (i) = Fval;
结束
% saved_fm
[minfval,指数]= min (Fval);
:溶液= sav_fm(指数)
%
4评论
莎拉奥利维拉佩德罗·多斯桑托斯
我将从现在开始。
所有nan_norm norm_v =规范(v (~ isnan (v)), 2);所以我不认为这是导致意想不到的结果。

登录置评。

答案(0)

类别

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

标签

下载188bet金宝搏


释放

R2019b

社区寻宝

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

开始狩猎!