这是我的功能。
function [ phi, lambda, h ] = trans_cartesian( x, y, z )
a=6378137;
b=6356752.3141;
e2=(a^2-b^2)/(a^2);
lambda= atand(y/x);
P= sqrt(x^2+y^2);
phi=atand((z/P)/(1-(e2)));
while phi< 10^-12;
N= a/sqrt(1-(e2).*(sind(phi))^2);
h= (P/cosd(phi))-N;
phi=atand((z/P)/(1-(N/N+h).*(e2)));
end
有关如何解决此问题的任何想法? 这是实际的错误消息:
输出参数&#34; h&#34; (也许是其他人)在致电&#34; C:\ trans_cartesian.m&gt; trans_cartesian&#34;。
期间未分配。
答案 0 :(得分:2)
正如您的错误所述,在某些情况下 allnotes = try moContext.fetch(request) as! [addednotes]
循环的条件不正确。并且您的代码必须返回while
的值。因此,您应该至少在代码中为h
设置初始值。例如:
h
或者,如果循环条件不正确,请在function [ phi, lambda, h ] = trans_cartesian( x, y, z )
h = 0
% continue
之后添加条件,将while
的值替换为特定值:
h