output argument not assigned
5 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Image Analyst
2018-10-23
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.
更多回答(1 个)
James Tursa
2018-10-22
Based on what you have posted, it appears var has more than 3 dimensions, so you aren't getting into your code above.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!