Octave 用八度音阶中的字符串输入实现函数时出现问题

Octave 用八度音阶中的字符串输入实现函数时出现问题,octave,Octave,我试图实现一个函数,但它给了我错误 第2行第10列附近未定义“名称” 我无法理解如何正确实施它。请帮助我想,您尝试将整个代码作为脚本运行。将从function到endfunction的所有代码放入名为astrogical\u constants.m的适当函数文件中。然后,您可以在某些脚本或命令行中调用a=天文常数(“引力常数”)。value。您也可以将函数保留在脚本中,但可以将例如1在顶部。请参阅。我已复制了您的代码,无法重现问题。即使我按原样复制上面的粘贴(正如我的同事所建议的那样),错误也是

我试图实现一个函数,但它给了我错误

第2行第10列附近未定义“名称”


我无法理解如何正确实施它。请帮助

我想,您尝试将整个代码作为脚本运行。将从
function
endfunction
的所有代码放入名为
astrogical\u constants.m
的适当函数文件中。然后,您可以在某些脚本或命令行中调用
a=天文常数(“引力常数”)。value
。您也可以将函数保留在脚本中,但可以将例如
1在顶部。请参阅。我已复制了您的代码,无法重现问题。即使我按原样复制上面的粘贴(正如我的同事所建议的那样),错误也是不同的。也许这里发生了一些你没有描述的事情?你打算怎么做?
function val = astronomical_constants(name)
  switch name
   case 'gravitational_constant'
    val.name = 'gravitational_constant';
    val.value = 6.667e-11;
    val.uncertainity = 1e-12;
   case 'equitorial_radius_earth'
    val.name = 'equitorial_radius_earth';
    val.value = 6*10^(20);
    val.uncertainty = 1e-12;
    endswitch
endfunction

a = astronomical_constants('gravitational_constant').value