我认为你需要了解优化变量都需要在一个变量,通常被称为
x
。看到
写作标量目标函数
。此外,如果你选择
gamultiobj
在你尝试创建目标函数之前,你会得到一个更有用的比你使用的模板。最后,你的非线性约束函数必须返回
c (x)
小于零的可行点。我认为你所需要的
c =(π* r1 ^ 2) * l1 +π* (r2 ^ 2 * l2) +(π* r3 ^ 2) * l3 - 1.5 * v_part;
一件事。您可能希望设置
r
和
l
为向量,而不是作为独立的变量为每个组件。所以你会写
r (2)
而不是
r2
。同样,这些woould的部分
x
向量。所以你可能类似
函数f1 = obj (x)
r = x (1:3);
l = x (6);
%然后写东西的r和l。
结束
您可能需要使用额外的变量固定参数等
k
和
v_melt
。你会把它们放在您的工作区,然后你的函数的样子
函数f1 = obj (x k v_melt)
这里是%代码
结束
祝你好运,
艾伦·韦斯
MATLAB数学工具箱文档