输出参数太多Matlab

时间:2015-04-24 14:54:56

标签: matlab

我有一个将度数转换为弧度的小函数。我想在一个脚本中使用此函数,该脚本将球形地理坐标转换为精确的笛卡尔坐标。每当我将坐标传递给函数时,我都会收到 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]

脚本从这里开始:

setTimeout

2 个答案:

答案 0 :(得分:4)

你的函数定义没有返回参数。

答案 1 :(得分:4)

 function rad  = winkelradiant( w )
 dez = w(1) + w(2)/60 + w(3)/3600;
 rad = dez * (pi/180); 
 end

在matlab中,必须在第一行函数中定义return veriable(s)。如果只有一个变量要返回,那么请在上面的示例中进行。但是,如果有多个返回变量,则可以使用以下方法完成:

function [vout1 vout2]  = functionxyz( vin )
 vout1 = vin *2 ;
 vout2 = vin + 2 ;
end