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.

Categories

Find more on Get Started with Optimization Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!