finding a vector that minimises a a sum of series

1 visualizzazione (ultimi 30 giorni)
Eva12345
Eva12345 il 8 Feb 2021
Risposto: Preyas Sharma il 25 Gen 2022
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 Commenti
Matt J
Matt J il 9 Feb 2021
Modificato: Matt J il 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 il 9 Feb 2021
Modificato: Eva12345 il 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

Accedi per commentare.

Risposte (1)

Preyas Sharma
Preyas Sharma il 25 Gen 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!

Translated by