output argument not assigned
    3 次查看(过去 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 中查找有关 Structures 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


