output argument not assigned
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
aine gormley
le 22 Oct 2018
Commenté : aine gormley
le 23 Oct 2018
Dear community,I have been continually hitting the following error in my code:
--
Output argument "var_ap" (and maybe others) not assigned during call to
"mf_field".
"Error in mf_srex (line 144)
[~, var_srex] = mf_field(var, mask);"
Below is the part of the code to which it is referring:
if length(size(var)) == 2
% get field mean
var_ap = nanmean(nanmean(var .* area )) ./ nanmean(nanmean(area ));
var_mp = nanmean(nanmean(var(mask) .* area(mask))) ./ nanmean(nanmean(area(mask)));
elseif length(size(var)) == 3
% get field mean for masked pixel
var_ap = NaN(size(var,3),1);
var_mp = NaN(size(var,3),1);
for j = 1:size(var,3)
vari = var(:,:,j);
var_ap(j,1) = nanmean(nanmean(vari .* area )) ./ nansum(nanmean(area ));
var_mp(j,1) = nanmean(nanmean(vari(mask) .* area(mask))) ./ nansum(nanmean(area(mask)));
end
end
Please can somebody offer some advice?
Thanks for your time.
0 commentaires
Réponse acceptée
Image Analyst
le 23 Oct 2018
For some reason, you're never assigning anything to var_srex. To fix, just assign it to anything, such as 0 or null, as the very first line of mf_field :
var_srex = [];
Of course you may then get some error where var_srex is null and you expected something else, but you won't also get the error that var_srex is not assigned.
Plus de réponses (1)
James Tursa
le 22 Oct 2018
Based on what you have posted, it appears var has more than 3 dimensions, so you aren't getting into your code above.
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!