Optimization using fval function

I am having trouble getting this code to run. The goal is to minimize the cost of a dumpster while keeping within a certain volume range using lagrange multipliers. My code runs but the error message that comes up is "Failure in initial objective function evaluation. FSOLVE cannot continue.". I am pretture sure lines 9 and 10 are wrong but can someone help me with this?
function F = Dumpster(quad)
L = quad(1);
W = quad(2);
H = quad(3);
X = quad(4);
F = [5*W+6*H-(W*H),5*L+6*H-(H*L),6*L+6*W-(W*L),L*W*H-1056];
test1 = [1,2,3,4];
[w1,fval] = fsolve(@Dumpster,test1);
w1;
fval;
end

6 个评论

I forgot to mention this but this is the code I am trying to put into the command window:
F = Dumpster([1,2,3,4])
Note that you have written a recursive function. This means you call Dumpster, inside which you call fsolve which in turn calls Dumpster. Then inside that Dumpster call you call fsolve which in turn calls Dumpster. Then inside that Dumpster call you call fsolve which in turn calls Dumpster. Then inside that Dumpster call you call fsolve which in turn calls Dumpster. Then inside that Dumpster call you call fsolve which in turn calls Dumpster. Then inside that Dumpster call you call fsolve which in turn calls Dumpster. Then inside that Dumpster call you call fsolve which in turn calls Dumpster. Then inside that Dumpster call you call fsolve which in turn calls Dumpster... etc.
Is that your intention?
Ahh so its basically looping itself? How can I fix that? I am trying to minimize the cost which is what all of the equaitions in the array is. I am new to MATLAB sorry this is probably a dumb problem lol
"How can I fix that?"
Don't call Dumpster (even indirectly) inside Dumpster.
Probably you want to to call fsolve outside of Dumpster.
I just pulled fsolve outside of the function and it is giving me the same error message. Do I need to put the fsolve ourside of the script and into the command window?
Just got it all figured out! Had to put a ; after the fsolve into the command prompt in order to suppress it getting the critical points! Thank you for the help

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Surrogate Optimization 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by