我正在尝试编写一个脚本,该脚本将绘制两个函数之间计算出的比率。在多次尝试重写函数后,我仍然得到与未定义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
谢谢您的协助!
答案 0 :(得分:0)
编写surface_area
时,会使用0个参数调用surface_area
函数。在该函数中,x
未定义。
此外,volume
在surface_area.m
文件外部不可见也不可访问。您可以将其放入自己的文件(称为volume.m
)中,也可以将其放入脚本文件中。但是您需要确保脚本文件不是以函数的定义开头的,因为这会将其转换为函数文件。有关更多信息,请参见here。