finding a vector that minimises a a sum of series

1 view (last 30 days)
Hi! I'm new and do not have a lot of knowledge regardering Matlab.
I would like to find a vector that minimises function , where A is matrix and is given; A = [1 2 3 2; 1 0 2 0; 2 3 0.5 4].
Thanks for your answer! :)
Eva
  4 Comments
Matt J
Matt J on 9 Feb 2021
Edited: Matt J on 9 Feb 2021
The sum you have written is over the first 3 columns of A. Why is the 4th column of A unused?
Eva12345
Eva12345 on 9 Feb 2021
Edited: Eva12345 on 9 Feb 2021
The 4th column of A is unused because I gave a matrix A just for example, so I would like to solve this optimization problem in general, the only important thing is that matrix A has 3 or more columns.
Do you maybe know how to write code for the problem described above? I would really appreciate your answer.
Eva

Sign in to comment.

Answers (1)

Preyas Sharma
Preyas Sharma on 25 Jan 2022
Hi Eva,
As per my understanding you need to find a vector x that can minimise your given function. In order to achieve it. you can use fmincon function
A = [1 2 3 2; 1 0 2 0; 2 3 0.5 4];
lb = [0,0,0];
ub = [1,1,1];
x0 = (lb + ub)/2;
Aeq = [1 1 1];
beq = [1];
fun = @(x)(max([x(1) x(2) x(3)]*A(:,1:3)));
[x,y] = fmincon(fun,x0,[],[],Aeq,beq,lb,ub);
Expected output:
x =
0.0489 0.5315 0.4196
y =
1.4196
here the constraint is satisfied and the function is minimised.
Hope that resolves your doubt.

Community Treasure Hunt

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

Start Hunting!