如何修复八度中未定义的“参数”

时间:2019-09-21 23:25:38

标签: octave

我正在尝试编写一个脚本,该脚本将绘制两个函数之间计算出的比率。在多次尝试重写函数后,我仍然得到与未定义X相同的错误。什么是不正确的声明?

功能代码(surface_area.m):

function surface_area(x)
  surface_area = 6 .* (x .^ 2);
end
function volume(x)
  volume = x.^3;
end

主脚本(main.m):

x = linspace(0.1,20);
surface_area;

sa = surface_area(x);
volume = volume(x);
r = sa ./ volume;

plot(x, r)

错误消息(从main.m脚本运行):

error: 'x' undefined near line 2 column 24
error: called from
    surface_area at line 2 column 16
    main at line 2 column 1

谢谢您的协助!

1 个答案:

答案 0 :(得分:0)

编写surface_area时,会使用0个参数调用surface_area函数。在该函数中,x未定义。

此外,volumesurface_area.m文件外部不可见也不可访问。您可以将其放入自己的文件(称为volume.m)中,也可以将其放入脚本文件中。但是您需要确保脚本文件不是以函数的定义开头的,因为这会将其转换为函数文件。有关更多信息,请参见here