首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“‘for”循环不会循环

“‘for”循环不会循环
EN

Stack Overflow用户
提问于 2012-07-03 23:21:04
回答 1查看 194关注 0票数 0

我有以下代码

代码语言:javascript
复制
for i = 1:8760
    A = [PVtech(i,:) WTtech(i,:)];
    b = demand(i);
    f = [CRF * PVtechcost(i,:) .* PVcap(i,:) ./ PVtech(i,:) CRF*WTtechcost(i,:) .* WTcap(i,:) ./ WTtech(i,:)];
    x(i) = linprog(f, A,b,[], [], lb);
end

我试图在8760数据集上优化linprog,但似乎无法对每一行执行循环。

当我运行它时,我得到一个大小为1x30的`A (当它应该是8760x30的时候)。

有没有人看到我哪里写错了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-03 23:30:37

是的,每次运行它时,都会用单行PVtech(i,:) WTtech(i,:)覆盖A。

试试这个:A = [A; PVtech(i,:) WTtech(i,:)];,即垂直连接

使用预分配,您的代码将如下所示:

代码语言:javascript
复制
numRows = 8760;
A = zeros(numRows, 30);

for i = 1:numRows

    A(i,:) = [PVtech(i,:) WTtech(i,:)];

    b = demand(i);

    f = [CRF*PVtechcost(i,:).*PVcap(i,:)./PVtech(i,:) CRF*WTtechcost(i,:).*WTcap(i,:)./WTtech(i,:)];

    x(i) = linprog(f, A,b,[], [], lb);

end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11314094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档