簡體   English   中英

linprog-“訂閱的分配維度不匹配”錯誤

[英]linprog - “Subscripted assignment dimension mismatch” error

“下標分配尺寸不匹配。' 運行linprog編碼時。

我的代碼是

for M = 1 : size(PV_output,1)
for N = 1 : size(WT_output,2)


    f(:,M:N ) = [((CRF*CC_PV(M)/PVenergy(M)+OM_PV)); ((CRF*CC_WT(N))/WTenergy(N))+OM_WT];  % Objective function coefficients

    %A(:,:) = [-PV_output(:,:,K)  -WT_output(:,:,L)];
    A (:,M,N) = [-PV_output(:,M)  -WT_output(:,N) ];

    b(:,:)  = -Demand(:);

    lb = zeros(2,1);

    ub = [max_PV_area/PV_area; max_WT_area/WT_area]';

end
end 
[x, fval, exitflag] = linprog(f,A,b,[],[],lb,ub)

PV_output為8760x1x27和WT_output為8760x1x3

我正在嘗試在此代碼中找到27和3 PV和WT的所有組合的“ f”系數,有人知道如何索引“ f”嗎?

謝謝

您的第一個問題是您需要獲取矩陣第三維的大小:

for M = 1 : size(PV_output,3) %# <---3, not 1  
    for N = 1 : size(WT_output,3) %# <---3, not 1 

接下來,您不需要(:,M:N) ,而是(:,M,N)

f(:,M,N)

可能還有更多。 這應該使您入門; 並使用調試器查看矩陣尺寸的大小,並確保它們符合您的預期。 例如,您不能將不同大小的矩陣加在一起,因此請確保尺寸相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM