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

function[r,theta]=rect2polar(x,y)r=sqrt(x.^2+y.^2);theta=180/pi*atan(y,x);end这个是我写的函数... 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);
请问这是为什么?
而且我也编写了一个简单的命令文件,然后调用了一下这个函数,可以得到正确的结果啊,为什么单独运行函数文件时就会出现错误提示呢?
函数文件可以直接运行吗?如果不能的话,该怎么知道自己写的函数对不对呢 就是怎么进行函数的调试?
望大仙赐教!
展开
 我来答
闲庭信步mI5GA
推荐于2017-10-07 · TA获得超过9077个赞
知道大有可为答主
回答量:2979
采纳率:87%
帮助的人:1366万
展开全部
错误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)运行。
ni我ni我
推荐于2018-12-21 · TA获得超过108个赞
知道答主
回答量:24
采纳率:0%
帮助的人:28.8万
展开全部
有两种方法。
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)真的可以调试通过么
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式