How to find a minimum value that calculated from a formulation?

1 view (last 30 days)
Hi, Now, i have some parameters that range into a region. And i have a formulation that calculated form these parameters. (below code) And i want to find minimum value of the formulation that has to satisfy a condition. And i want to display that minimum value and coresponding values of parameters above. Help me, please. Thank you so much. My code:
x=(50:100);
y=(50:100);
z=(10:30);
Amin=Inf;
Apsmin=Inf;
Mu=155000;
imin=1;
jmin=1;
kmin=1;
for i=1:numel(x)
for j=1:numel(y)
for k=1:numel(z)
Mr = x(i)*y(j)*z(k);
A=x(i)*y(j)*z(k);
Aps=z(k)*1000;
if (Mr>=Mu)&&(A<=Amin)&&(Aps<=Apsmin)
Amin = A;
imin = i;
jmin = j;
kmin = k;
end
end
end
end
disp(Amin);
disp(x(imin));
disp(y(jmin));
disp(z(kmin));

Answers (1)

Image Analyst
Image Analyst on 26 Feb 2017
Edited: Image Analyst on 26 Feb 2017
"And i want to display that minimum value and coresponding values of parameters above." so you can use fprintf(), or sprintf() and helpdlg(), or both ways, like this:
message = sprintf('Amin = %f\nimin = %d, x(imin) = %f\njmin = %d, y(imin) = %f\nkmin = %d, z(imin) = %f\n', Amin, imin, x(imin), jmin, y(jmin), kmin, z(kmin));
% Display in command window:
fprintf('%s', message);
% Display vis popup message
uiwait(helpdlg(message));
  1 Comment
Le Dung
Le Dung on 26 Feb 2017
Hi Image Analyst. But when i add a comand such as below: disp('We found value that we need') between two comand as below:
if (Mr>=Mu)&&(A<=Amin)&&(Aps<=Apsmin)
disp('We found value that we need')
Amin = A;
when program runs. It will present on destop " We found value that we need" for all cases. So, why?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!