Info

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

optimisation of simple equation

5 views (last 30 days)
kevin
kevin on 14 Oct 2011
Closed: MATLAB Answer Bot on 20 Aug 2021
let say a=1:1:10 b=1:1:20 c:1:1:15 and the equation is:
k= (a/b)*cos(c)
and i need to get the value of a b and c when k is min or max, how do you do it?
thx

Answers (1)

Andrei Bobrov
Andrei Bobrov on 14 Oct 2011
% determination of all combinations of values of the vectors a,b,c -> [a(:) b(:) c(:)]
[a b c] = meshgrid(1:10,1:20,1:15 );
% definition of all possible values of 'k'
k = a(:)./b(:).*cos(c(:));
% min and max values of 'k', [i1,i2] - indexes of the min and max values
[v1,i1] = max(k);
[v2,i2] = min(k);
% first row of the 'out' values of the 'a','b' and 'c' when 'k' -max, second - 'k' - min
out = [a(i1) b(i1) c(i1);a(i2) b(i2) c(i2)]
  5 Comments
kevin
kevin on 27 Nov 2011
i wrote
[a b r t p] = meshgrid(1:0.1:4,1:0.1:4,1.2:0.1:2.2,-20:0.5:80,0:0.5:90);
do you see any error?
kevin
kevin on 27 Nov 2011
i am think i got error for it was because meshgrid only support 3 varibles ie 3d

Community Treasure Hunt

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

Start Hunting!