Optimization function with a summation

4 views (last 30 days)
Ricardo López
Ricardo López on 10 Jan 2021
Commented: Matt J on 10 Jan 2021
Good afternoon,
I have the following code:
C_H = [C_H1 C_H2 C_H3 C_H4 C_H5];
PV = reshape(PV_SAM,[52560,1]);
j = 144;
fun =zeros(144,5);
b = zeros(144,5);
for i=1:j
fun(i,:) = (C_H(i,:) - b(i).*PV(i));
end
f_sum = sum(fun,'all');
Does anyone know how to optimize the variable b so the value of f_sum is minimum?
Thank you
  4 Comments
Ricardo López
Ricardo López on 10 Jan 2021
And the sum of all of them should be 1
Matt J
Matt J on 10 Jan 2021
C_H does not affect the optimization at all and PV only has one column, so giving b 5 columns is only creating extra redundant variables.

Sign in to comment.

Answers (1)

Matt J
Matt J on 10 Jan 2021
The solution is simply,
b = zeros(144,5);
b(PV(1:j)>0,:)=1;
  2 Comments
Ricardo López
Ricardo López on 10 Jan 2021
The sum of all of them should be one and the solution that this is giving is just 1 for all 5 columns.
Matt J
Matt J on 10 Jan 2021
Edited: Matt J on 10 Jan 2021
[~,i]=max( PV(1:j));
b = zeros(144,5);
b(i,1)=1;

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!