how do I calculate all values in for loop?

8 views (last 30 days)
Hello. please help me
I want to calculate in each x = [0, 2, 5, 7, 8, 9, 10 ] -----> Output P equation.
I tried to write in below code. BUT when its only x = 10, result calculated. I want to calculate all x values.
How do I do?
PLEASE
m-file
function [Tc, P] = myfun1(Ppv_rated, x, G , Gref, Kt, Tref, Tamb)
for x = [0,2,5,7,8,9,10]
Tc = Tamb + (0.0256 * G);
P = (Ppv_rated * x) .* (G/Gref).*(1 + Kt*(Tc - Tref));
end
end
COMMAND WINDOW
>> Ppv_rated = 250;
>> G = [5.75, 6, 6.365, 6.5, 6.185, 5.75, 5, 4.8, 5.5, 6.18, 6.15, 5.8];
>> Gref = 1000;
>> Kt = -0.485;
>> Tref = 25;
>> Tamb = [25.63, 26.7, 26.610, 25.46, 24.9, 24.01, 23.16, 23.01, 23.54, 23.78, 24.45, 25.3];
>> [Tc, P] = myfun1(Ppv_rated, x, G , Gref, Kt, Tref, Tamb)
RESULT

Answers (2)

KSSV
KSSV on 10 Sep 2020
Edited: KSSV on 10 Sep 2020
You need to save each value in aloop.
function [Tc, P] = myfun1(Ppv_rated, x, G , Gref, Kt, Tref, Tamb)
m = numel(x);
n = numel(Tamb) ;
Tc = zeros(m,n) ;
P = zeros(m,n) ;
for i = 1:length(x)
Tc(i,:) = Tamb + (0.0256 * G) ;
P(i,:) = (Ppv_rated * x(i)) .* (G/Gref).*(1 + Kt*(Tc(i,:) - Tref));
end
end
You need not to use a loop and you can use all vector operations.
function [Tc, P] = myfun1(Ppv_rated, x, G , Gref, Kt, Tref, Tamb)
Tc = Tamb + (0.0256 * G) ;
PP = ((Ppv_rated * x) .* ((G/Gref).*(1 + Kt*(Tc - Tref)))')';
end
  8 Comments
MUNKHBOLOR BAIGALI
MUNKHBOLOR BAIGALI on 10 Sep 2020
another m-file using PSO code worked. But I don't know why myfunc m-file doesn't work.

Sign in to comment.


VBBV
VBBV on 10 Sep 2020
Edited: VBBV on 10 Sep 2020
%if true
% code
% end
x = [0 2 5 7 8 9 10];
for i = 1:length(x)
for j = 1:length(Tamb)
Tc(j)= Tamb(j) + 0.0256*G(j);
P(i,j) = Ppv_rated*x(i)*(G(j)/Gref)*(1+Kt*(Tc(j)-Tref));
end
end
  1 Comment
MUNKHBOLOR BAIGALI
MUNKHBOLOR BAIGALI on 10 Sep 2020
Thank you sir.
I understood. Its working. I have a question.
I want to input Ppv_rated, G, Gref, Kt, Tref, Tamb in this function not command window. Is it possible?

Sign in to comment.

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!