sallychen2002 发表于 2006-10-7 22:36

请教关于一个函数的定义

matlab中函数的定义都是function = funname(in1, in2, ...)

可是我现在需要定义一个函数用于显示函数的图像
作业给的提示丁已成为
function plotContour (funct, xRange, yRange)
其中 funct是一个函数句柄,而xRange and yRang是x y的取值范围 二维的
这个函数要求接受x y的值
并且只是显示,并不要求返回值,这个函数怎么定义亚

真的是刚入门,请多多执教:@(:@L

Tla 发表于 2006-10-7 22:48

原帖由 sallychen2002 于 2006-10-7 22:36 发表
matlab中函数的定义都是function= funname(in1, in2, ...)

可是我现在需要定义一个函数用于显示函数的图像
作业给的提示丁已成为
function plotContour (funct, xRange, yRange)
其中 funct是一个函数句 ...
去搜索一下帮助文件就行了..:@)

给一个最简单的示例,也许和你要的有一点点出入,
function pc(fh,xr)
%
%   chinavib
ff = feval(fh,xr);
plot(ff);

调用方式:
pc(@sin,)

其它的,就自己去想想吧

sallychen2002 发表于 2006-10-7 23:02

我这样写

function plotContour(xRange,yRange)
=meshgrid(xRange,yRange);
Z=peaks(X,Y);
mesh(X,Y,Z);
surf(X,Y,Z);

调用>> plotContour([-10 10],[-10 10])
结果是
??? Attempt to execute SCRIPT plotContour as a function.

这是怎么回事儿

sallychen2002 发表于 2006-10-7 23:04

:'(:'(:'(:'(:'(噢是真的不会呀 要熬夜,在线等:@L

[ 本帖最后由 sallychen2002 于 2006-10-7 23:07 编辑 ]

sallychen2002 发表于 2006-10-7 23:09

有哪个好心人能救我于水火之中亚

jimin 发表于 2006-10-7 23:13

function plotContour(xRange,yRange)
=meshgrid(xRange,yRange);
Z=peaks(X,Y);
mesh(X,Y,Z);
surf(X,Y,Z);

调用>> plotContour([-10 10],[-10 10])
可以画出图来呀

toes 发表于 2006-10-7 23:17

将你的程序段存成plotContour.m文件,保存在工作目录中,不要改变目录,在command window的命令行中敲入plotContour([-10 10],[-10 10]),执行是不会出现错误的。

确认一下你的操作。

jimin 发表于 2006-10-7 23:20

补充一下
文件名就先用 plotContour这个
m文件命名是有规定的,不要乱来

sallychen2002 发表于 2006-10-7 23:28

万分感谢toes jimin

就是因为没有保存成同名的文件,matlab中每个function都需要单独的m文件吗
我至少需要定义四个函数,还有一个主函数,难道我需要五个文件吗

jimin 发表于 2006-10-8 08:29

原帖由 sallychen2002 于 2006-10-7 23:28 发表
就是因为没有保存成同名的文件,matlab中每个function都需要单独的m文件吗
我至少需要定义四个函数,还有一个主函数,难道我需要五个文件吗
应该可以用一个m文件
就是用主函数的那个,把其他的放在它后面,你试试就知道了
页: [1]
查看完整版本: 请教关于一个函数的定义