【发布时间】:2015-07-03 06:00:28
【问题描述】:
我有一个将度数转换为弧度的小函数。我想在将球面地理坐标转换为球面笛卡尔坐标的脚本中使用这个函数。每当我将坐标传递给函数时,我都会收到too many output argumenterror,有人可以看看它并可能告诉我我在哪里搞砸了吗?
函数从这里开始:
function [] = winkelradiant( w )
dez = w(1) + w(2)/60 + w(3)/3600;
rad = dez * (pi/180);
rad
end
脚本从这里开始:
function GB
w1 = [8, 47, 15.2356];
w2 = [45, 12, 46.1887];
winkelradiant(w1)
winkelradiant(w2)
%Transform geographical to cartesian coordinates
r = 6371000.785;
a =[45, 12, 46.1887];
b =[8, 47, 15.2356];
phi = winkelradiant(a);
lambda = winkelradiant(b);
x = r*cos(phi)*cos(lambda);
y = r*cos(phi)*sin(lambda);
z = r*sin(phi);
KO = [x y z]
【问题讨论】:
-
在第一行尝试函数 rad = winkelradiant( w )
-
好的,我认为你以错误的方式定义了函数。也许这样的定义是可能的,但我不知道它应该做什么。这是关于 MATLAB 中的函数的信息nl.mathworks.com/help/matlab/ref/function.html
-
winkelradiant不返回rad。将您的function标头更改为function rad = winkelradient(w)。 -
@freude - 不,你是对的。函数中没有返回变量,这就是它不起作用的原因。
-
您可能会看到定义输出的变量 y1...yN:[y1,...,yN] = myfun(x1,...,xM)
标签: matlab