matlab functionにおいて固定サイズになるはずの出力が可変サイズと認定される.
显示 更早的评论
単一の入力とワークスペースの関数を用いて4つの出力を得ようとしています.
出力はそれぞれスカラーであるため固定サイズになるのですが可変サイズに推定され実行できません.
入力を手打ちしてmatlabエディターからは問題なく実行できます.
どうしたら固定行列と認識されるかを教えてほしいです.
以下コードです.
function [calc_P,calc_alfa,EffMax,nm]= map(Q, Eov, Qout, deltap, Dmax, Evmat)
%入力はQ以外はワークスペースから得たパラメータ
%近傍値探索
B = abs(Qout - Q);
i1 = min(B);
Q_column = find(B == i1);
Ann1 = Qout(Q_column);
%位置探索
r = Eov(:,Q_column,:);
Ejoin =[r(:,:,1),r(:,:,2),r(:,:,3),r(:,:,4)] ;
Ejoin = squeeze(Ejoin);
EffMax = max(Ejoin,[],'all');
dis = find(Ejoin==EffMax);
%3次元配列探索
calc_alfa_num = fix(dis/400);
calc_alfa_num = double(calc_alfa_num);
%行探索
Q_row = (dis-400*calc_alfa_num)+1;
Q_row = double(Q_row);
calc_alfa = 0.25*(calc_alfa_num+1);
calc_P = deltap(Q_row);
nm = Ann1/(Dmax*calc_alfa_num*Evmat(Q_row,Q_column,calc_alfa_num+1)) ;
end
エラーメッセージ
データ 'calc_P' は可変サイズの行列と推定されますが、モデル エクスプローラーのプロパティでは継承されたサイズまたは固定サイズと指定されています。[可変サイズ] チェック ボックスをオンにし、サイズのフィールドで上限を指定してください。
1 个评论
Atsushi Ueno
2021-12-18
方法1:配列サイズが判断できる形に変更する
方法2:可変サイズに設定する
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Bartlett 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!