matlab中自己编写的函数文件可以直接运行吗,怎么调试?

function[r,theta]=rect2polar(x,y)
r=sqrt(x.^2+y.^2);
theta=180/pi*atan(y,x);
end
这个是我写的函数文件的内容,在函数文件编辑器里直接点击运行之后在matlab的命令窗口就会出现下面的错误提示
??? Input argument "x" is undefined.

Error in ==> rect2polar at 2
r=sqrt(x.^2+y.^2);
请问这是为什么?
而且我也编写了一个简单的命令文件,然后调用了一下这个函数,可以得到正确的结果啊,为什么单独运行函数文件时就会出现错误提示呢?
函数文件可以直接运行吗?如果不能的话,该怎么知道自己写的函数对不对呢 就是怎么进行函数的调试?
望大仙赐教!

错误1 :引导词function后要空格。如下:
function [r,theta]=rect2polar(x,y)
r=sqrt(x.^2+y.^2);
theta=180/pi*atan(y,x);

错误2:程序没有循环,不需要end。

错误3:建立函数文件后保存到work文件夹后。不能直接点击运行,而是要从键盘键入“输入参数”x,y的值。

再键入 [r,theta]=rect2polar(x,y)运行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-12-21
有两种方法。
1、在命令窗口输入rect2polar(1,1);
2、将函数改为
function[r,theta]=rect2polar(x,y)
if nargin==0
x=1;y=1;%随意修改
end
r=sqrt(x.^2+y.^2);
theta=180/pi*atan(y,x);
end
ps:atan(y,x)真的可以调试通过么本回答被网友采纳