matlab拟合图形边界,matlab - MATLAB 3D曲线拟合,带有附加边界 - SO中文参考 - www.soinside.com...

本文介绍了如何在MATLAB中进行3D曲线拟合,并应用非线性约束优化。通过定义约束函数、优化函数和成本函数,确保模型预测值始终大于等于零。实例展示了如何使用fmincon解决这个问题,并探讨了初始参数对结果的影响。
摘要由CSDN通过智能技术生成

对于使用fmincon的非线性约束优化,首先需要定义一个确定fmincon的函数(即,预测z和x的结果:]y

请注意,所有乘法和幂都是元素级的(function z = poly_model(x, y, p)

% extract parameters

p00 = p(1);

p10 = p(2);

p01 = p(3);

p20 = p(4);

p11 = p(5);

p02 = p(6);

p21 = p(7);

p12 = p(8);

p03 = p(9);

% poly23 model

z = p00 + p10 .* x + p01 .* y + p20 .* x.^2 + p11 .* x .* y + ...

p02 .* y.^2 + p21 .* x.^2 .* y + p12 .* x .* y.^2 + p03 .* y.^3;

end和.*)。这允许评估.^和x的矩阵输入函数,这是计算要在实验数据范围内施加的约束所必需的。

约束已在单独的函数中定义。从文档:非线性约束,指定为函数句柄或函数名称。 nonlcon是一个接受向量x或数组x并返回两个数组c(x)和ceq(x)的函数。c(x)是x处的非线性不等式约束的数组。 fmincon试图满足

c(x)<= 0对于c的所有条目。

ceq(x)是x处的非线性等式约束的数组。 fmincon试图满足

ceq(x)= 0对于ceq的所有条目。因此,在您的情况下,约束函数可以定义为:y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值