matlab functionにおいて固定サイズになるはずの出力が可変サイズと認定される.
Afficher commentaires plus anciens
単一の入力とワークスペースの関数を用いて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 commentaire
Atsushi Ueno
le 18 Déc 2021
方法1:配列サイズが判断できる形に変更する
方法2:可変サイズに設定する
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Bartlett dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!