lambda0 = 9.6;
gamma0 = 0.0016;
Pload = 900;
nj=1;
AvW = 32e6;
t = 12;
%thermal plant%%%
ath = 0.002;
bth = 8;
gamth = 1200;
cth = 0;
Pth0 = (lambda0 - (nj*bth))/((2*nj*ath)-(2*cth*lambda0));
%%%%%hydro plant%%%%%
ah = 6000;
bh = 100000;
ch = 100;
Ph0 = (lambda0 - (nj*ah*gamma0))/(2*lambda0*ch);
Tl = 0.0000045;
%%%%%%%%%%%lambda%%%%%%%%%%%%%%%%%%%%%%
j=1;
for j=1:24
x = Pload - Ph0 - Pth0;
e1 = 0.1;
while x > e1
lambda = lambda0 + 0.25;
Pth = (lambda - (nj*bth))/((2*nj*ath)-(2*cth*lambda));
Ph = (lambda - (nj*ah*gamma0))/(2*lambda*ch);
Ploss = 0.0000045 * Ph^2;
x = Pload + Ploss - Ph - Pth;
if x < e1
lambda = lambda0;
Pth = (lambda - (nj*bth))/((2*nj*ath)-(2*cth*lambda));
Ph = (lambda - (nj*ah*gamma0))/(2*lambda*ch);
Ploss = 0.0000045 * Ph^2;
end
W = bth + ath*Ph;
fprintf('W=%.3f',W);
x = Pload + Ploss - Ph - Pth;
e2 = 50 ;
dW = W - AvW;
end
end
while dW > e2
lambda = (nj *(gamma0*ah)-(2*ath*bth))/((2*cth*Pth)-(2*Tl*Ph));
x = Pload-Ph-Pth;
while x(1)> e1
lambda = lambda + 0.25;
gamma = gamma0 + 0.00001;
Pth = (lambda - (nj*bth))/((2*nj*ath)-(2*cth*lambda));
Ph = (lambda - (nj*ah*gam))/(2*lambda*ch);
Ploss = 0.0000045 * Ph^2;
x = Pload + Ploss - Ph - Pth;
if x(1)< e1
lambda = lambda0;
Pth = (lambda - (nj*bth))/((2*nj*ath)-(2*cth*lambda));
Ph = (lambda - (nj*ah*gamma))/(2*lambda*ch);
Ploss = 0.0000045 * Ph^2;
x = Pload + Ploss - Ph - Pth;
W = bth + ath*Ph;
fprintf('w=%.3f',W);
end
end
tot = W * t ;
if e2 > tot
fprintf('\t%.3f',lambda);
fprintf('\t%.3f',Pth);
fprintf('\t%.3f',Ph);
fprintf('\t%.3f',gamma);
fprintf('\n');
end
end
0
A
回答
1
您的循环显示为for j=1:1
。那不应该是for j=1:24
?
+0
在我将它改为j = 1:24 – user694666 2011-04-08 16:38:27
+1
@ user694666后,它仍然无法工作,请尝试缩小您的问题范围。你的程序混淆了命名变量而没有评论 - 如果你纠正了这些问题,你可能会自己发现错误。 – 2011-04-08 16:44:48
0
你的问题是你的while循环是一个无限循环。第一个while循环中的前5行是常量,因此x
(出现为437.5)始终大于e1
,因此您的循环永远不会终止。此外,我没有看到循环索引在任何地方使用,所以基本上,如果你循环或不循环都没有区别。
我猜你已经混淆了太多的非描述性变量。我第二个卡尔的建议是,你试图在命名和你的代码流程中引入一些命令,然后你会看到自己如何解决它(提示:我已经告诉你在哪里看)。
相关问题
- 1. 表达式的结果和解析结果是什么j + = j- = j * j和j + = j * = j- = j? (倍数等于)
- 2. private(i,j)在这段代码中的作用是什么?如果我从私人(i,j)省略i或j,会有什么变化吗?
- 3. 我的代码有什么问题
- 4. 如果有什么(j!=“”为i中的j):意思?
- 5. 我的php代码有什么问题?
- 6. 我的代码“vba”有什么问题
- 7. qbasic-我的代码有什么问题?我没有得到我想要的
- 8. 为什么我没有得到输出,当我在下面的代码中的第1行“j <0”?
- 9. 为什么我的代码库执行'make -j 0'
- 10. 我的代码有什么问题? (显示java.lang.NullPointerException)
- 11. 我的代码有什么问题? perimeter.c
- 12. 我的代码有什么问题?为什么我有错误?
- 13. 我的代码有什么问题?
- 14. 我的.htaccess代码有什么问题?
- 15. 我的代码有什么问题? (VB)
- 16. 我的c代码有什么问题?
- 17. BroadCastReciever。我的代码有什么问题?
- 18. 我的python代码有什么问题?
- 19. 重构旧代码从J#到C#
- 20. 我的java代码有什么问题?
- 21. 我的代码有什么问题?
- 22. 我的AutoResetEvent代码有什么问题?
- 23. 我的Thread()代码有什么问题?
- 24. 我的代码有什么问题?
- 25. 我的C#代码有什么问题?
- 26. 我的python代码有什么问题?
- 27. 我的VBA代码有什么问题?
- 28. 我的mouseup代码有什么问题?
- 29. 我的代码有什么问题?
- 30. 我的代码有什么问题? countocolsonant
解释你所得到的错误会有所帮助。 – gnovice 2011-04-08 17:04:16