amder 发表于 2007-5-22 09:21

关于M函数的小问题

本人刚用MATLAB7.0,问调用M自定义函数的正确格式是什么?
比如我有如下程序:
M:
function =ff(x)
y=x+1
end

main:
y=ff(x);
y

本程序要求在结果中输入x的值,然后根据自定义的函数输出y的值。
主要问在主程序中正确的调用格式,我在程序中没有给出x的值,想在程序完后再给出结果的效果,但却有如下提示:

“ >> y=ff(x);
??? Undefined function or variable 'x'.”

请高手指点。

[ 本帖最后由 eight 于 2007-5-22 11:48 编辑 ]

支承点 发表于 2007-5-22 09:27

建立同名ff.m文件
function =ff(x)
y=x+1;
end
在运行窗口输入:
>> x=1;
>> y=ff(x)
就可以了吧。
我也是刚刚学,知道没有人交流的痛苦....

w89986581 发表于 2007-5-22 09:29

文件名和函数名必须一致。

amder 发表于 2007-5-22 09:56

谢谢,不过我不是没有建同名函数文件,而是现在不会正确的调用。
希望高手继续指点。

eight 发表于 2007-5-22 11:48

原帖由 amder 于 2007-5-22 09:56 发表 http://www.chinavib.com/forum/images/common/back.gif
谢谢,不过我不是没有建同名函数文件,而是现在不会正确的调用。
希望高手继续指点。

没看懂,如果按照你所写的,m 代表 m文件,main 代表命令窗口,应该不会出现这个问题

支承点 发表于 2007-5-22 12:49

[“ >> y=ff(x);
??? Undefined function or variable 'x'.”

请高手指点。]
分明是没有给定x的值。??? Undefined function or variable 'x'. 就是说,没有找到名为x的函数,也没有定义x的值。

eight 发表于 2007-5-22 13:08

原帖由 支承点 于 2007-5-22 12:49 发表 http://www.chinavib.com/forum/images/common/back.gif
[“ >> y=ff(x);
??? Undefined function or variable 'x'.”

请高手指点。]
分明是没有给定x的值。??? Undefined function or variable 'x'. 就是说,没有找到名为x的函数,也没有定义x的值。

首先请给 x 赋值,然后才能参数传递
页: [1]
查看完整版本: 关于M函数的小问题