# Can I get the code for Economic Load Dispatch using Gradient Descent (matlab)?

22 views (last 30 days)
Suzzane M on 23 Jun 2020
Edited: mahesh kumar on 29 Jun 2020
I'm not getting how to proceed after this!!
clc
a=[500;400;200];
b=[5.31;5.5;5.8];
g=[0.004;0.005;0.009];
lambda=input('enter vvalue of lambda');
iter=0;
Pd=800;
n=length(a);
delP=5;tcost=0;
tolerance=0.0001;
while abs(delP)>tolerance
iter=iter+1;
x=0;
for i=1:n
p(i)=(lambda-b(i))/(2*g(i));
x=x+(1/(2*g(i)));
cost=(a(i)+(b(i)*p(i))+(g(i)*p(i)*p(i)));
mahesh kumar on 27 Jun 2020
Edited: mahesh kumar on 27 Jun 2020
try this::
B = [.00003 0 0;0 .00009 0 ; 0 0 .00012]; dB=diag(B); load=850;
x=max(b); dP=1;i=0;
while abs(dP)>0.000001
i=i+1; disp(i);
x=x+dP*2/(sum(1./a));
P=(x-b-2*(B*P-dB.*P))./(2*a+2*x*dB);
% plot(x,P,'x'); hold on; pause(1);
% C=c+b.*P+a.*P.*P;
% plot(x,sum(C)/100,'o');
end
Suzzane M on 28 Jun 2020
Yes, it solves my problem. Thankyou so much for the help. Was badly stuck in for days. Fianlly got some clarity. Thankyou again

mahesh kumar on 29 Jun 2020
Edited: mahesh kumar on 29 Jun 2020