0
我有以下代码“for”循环不循环
我试图优化linprog
在8760点的数据集,但似乎无法得到循环去为每一行。
当我运行它时,我得到A的大小为1x30(当它应该是8760乘30)。
有没有人看到我错误地编码了?
我有以下代码“for”循环不循环
我试图优化linprog
在8760点的数据集,但似乎无法得到循环去为每一行。
当我运行它时,我得到A的大小为1x30(当它应该是8760乘30)。
有没有人看到我错误地编码了?
是,每次你运行它要覆盖一个与单行时间[PVtech(I,:) WTtech(I,:)]
试试这个:A = [A; PVtech(i,:) WTtech(i,:)];
即垂直串联
随着预分配你的代码应该是这样的:
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
感谢丹但是,让我 – user643469
未定义的变量错误尝试循环之前预分配:'A =零(8760,30)',并以'A(我,:) = [PVtech(我,:) WTtech(我,:)]' – Amro
是的,你必须d eclare第一个,所以你可以尝试A = []但它更快,因为@Amro已经指出要预先分配,所以也许A =零(8760,30) – Dan