finding a vector that minimises a a sum of series

1 Ansicht (letzte 30 Tage)
Eva12345
Eva12345 am 8 Feb. 2021
Beantwortet: Preyas Sharma am 25 Jan. 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 Kommentare
Matt J
Matt J am 9 Feb. 2021
Bearbeitet: Matt J am 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 am 9 Feb. 2021
Bearbeitet: Eva12345 am 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

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Preyas Sharma
Preyas Sharma am 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!

Translated by