min関数の式で、「入力引数が不足しています。」というエラーメッセージが表示されます。
2 ビュー (過去 30 日間)
古いコメントを表示
次のようなコードを、添付させていただいたzipファイルに格納されたExcelファイルにあるデータを読み込んだうえで実行すると、"p_high(:,n) = min(p_delta(:,n), -4*d_least*ones(Span,1));"の部分に関して「入力引数が不足しています。」というエラーメッセージが表示されます。
BESS_eff = 0.9
NumHouses = 528
Delta_bat = zeros(1,NumHouses);
delta_bat = zeros(1,NumHouses);
Delta_bat2 = zeros(1,NumHouses);
delta_bat2 = zeros(1,NumHouses);
diff = zeros(Span,NumHouses);
diff_sum = zeros(Span,NumHouses/4);
E_diff = zeros(1,NumHouses/4);
E_delta = zeros(1,NumHouses/4);
p_delta = zeros(Span,NumHouses/4);
p_high = zeros(Span,NumHouses/4);
com = zeros(1,NumHouses/4);
delta_delta_diff = zeros(1,NumHouses);
delta_delta_diff2 = zeros(1,NumHouses);
delta_diff = zeros(Span,NumHouses);
delta_diff2 = zeros(Span,NumHouses);
E_high = 0;
for n=1:NumHouses/4
for m=1:4
Delta_bat(4*(n-1)+m) = sum(surplus_pre(t_arr(4*(n-1)+m):t_initial(4*(n-1)+m),4*(n-1)+m), [1 2]);
delta_bat(4*(n-1)+m) = max(Cap(4*(n-1)+m)*gran/BESS_eff-Delta_bat(4*(n-1)+m),0);
E_diff(n) = E_diff(n) + sum(-diff(t_sun_arr(4*(n-1)+m)+1:t_initial(4*(n-1)+m),4*(n-1)+m),"all");
diff_sum(:,n) = diff_sum(:,n) - diff(:,4*(n-1)+m);
end
E_delta(n) = sum(delta_bat(4*(n-1)+1:4*(n-1)+4),"all");
com(n) = max(E_diff(n)-E_delta(n),0);
for m=1:4
delta_delta_diff(4*(n-1)+m) = com(n)/tim(4*(n-1)+m);
delta_delta_diff_arr = delta_delta_diff(4*(n-1)+m) .* ones(t_sun_arr(4*(n-1)+m)-t_start_arr(4*(n-1)+m)+1,1);
delta_diff_all = diff_sum(t_start_arr(4*(n-1)+m):t_sun_arr(4*(n-1)+m),n)-delta_delta_diff_arr;
delta_diff(t_start_arr(4*(n-1)+m):t_sun_arr(4*(n-1)+m),4*(n-1)+m) = delta_diff_all .* (delta_bat(4*(n-1)+m)/E_delta(n));
diff(t_start_arr(4*(n-1)+m):t_sun_arr(4*(n-1)+m),4*(n-1)+m) = diff(t_start_arr(4*(n-1)+m):t_sun_arr(4*(n-1)+m),4*(n-1)+m) + delta_diff(t_start_arr(4*(n-1)+m):t_sun_arr(4*(n-1)+m),4*(n-1)+m);
end
p_delta(:,n) = -(diff(:,4*(n-1)+1)+diff(:,4*(n-1)+2)+diff(:,4*(n-1)+3)+diff(:,4*(n-1)+4));
p_high(:,n) = min(p_delta(:,n), -4*d_least*ones(Span,1));
E_high = E_high + sum(p_high(t_start_arr(n):t_sun_arr(n),n),"all");
end
Excelに変数の値を出力させたところ、p_deltaまでは全ての変数に値があり、配列のサイズも同一の式においては一致していました。
この場合に考えられる原因や、問題を分解する方法をご教示いただけないでしょうか。
あいまいな質問でご迷惑をおかけして恐縮ですが、ご回答よろしくお願いいたします。
0 件のコメント
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!