Info

此问题已关闭。 请重新打开它进行编辑或回答。

optimisation of simple equation

1 次查看(过去 30 天)
kevin
kevin 2011-10-14
关闭: MATLAB Answer Bot 2021-8-20
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

回答(1 个)

Andrei Bobrov
Andrei Bobrov 2011-10-14
% 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 个评论
kevin
kevin 2011-11-27
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 2011-11-27
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!

Translated by