Info

This question is closed. Reopen it to edit or answer.

In which format I have to give the inputs?

2 views (last 30 days)
Haritha
Haritha on 25 Aug 2018
Closed: MATLAB Answer Bot on 20 Aug 2021
Hi,
I want to optimize heat exchanger design parameters I am creating an objective function for that. a = temp parameters, b = pressure parameters, c= cost variation
I have the code as function a = objfun(a,b,c)
my output will be a(1) b(1) c(1) a(2) b(2) c(2) a(3) b(3) c(3) . . . . . . . . . . . . . . .
In which format I have to give the inputs?
  1 Comment
Rik
Rik on 25 Aug 2018
What the input should be like, depends on what your function is actually doing.
Have a read here (or here for more general advice) and here. It will greatly improve your chances of getting an answer.

Answers (1)

Walter Roberson
Walter Roberson on 25 Aug 2018
Example:
abc0 = randi(10, 3, 4);
bestabc = fmincon(@objfun, abc0(:));
function cost = objfun(abc)
abc = reshape(abc, [], 3);
a = abc(:,1);
b = abc(:,2);
c = abc(:,3);
cost = ....
That is, you can create an array of initial values for your purpose, but you will need to reshape it as a vector to pass in to the optimization. However, in your objective function you can reshape as an array again and then extract appropriate parts of it.

This question is closed.

Community Treasure Hunt

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

Start Hunting!