编写一个matlab函数,如何让自变量里含有一个函数?
问题很简单,就是编写了一个函数,functin f= fun(x)
f=quad(inline('cos(x)','x'),0,x.^2)
是这样的,这里是对cos积分,那如果我想对别的函数积分,就要在源程序里修改。
如果我想在fun函数的自变量里,就可以输入这个被积函数的话,就不用改了。就好像diff函数一样
diff(cos(x),x,1);
ans =
-sin(x)
大侠帮帮忙!
[ 本帖最后由 ChaChing 于 2010-3-21 11:00 编辑 ]
回复 楼主 beyondhxf 的帖子
将被积函数设为字符串可否?回复 楼主 beyondhxf 的帖子
没时间给例子了,提示一下吧,用函数句柄,或者用字符串也可以。回复 板凳 sogooda 的帖子
在你有空时候,给个简单的例子,谢谢。再拜!回复 楼主 beyondhxf 的帖子
问题已经解决,使用函数句柄,匿名函数(anonymous function)均可解决。回复 楼主 beyondhxf 的帖子
您是怎么做的?我也遇到了相同的问题!麻烦您给讲讲!谢谢!回复 6楼 flg618730 的帖子
2/3/5F不是有说明?回复 6楼 flg618730 的帖子
今天有空,给你一个具体例子吧:就给一个句柄函数的调用例子:
函数部分(一个极为简单的函数):
function a=test(f)
a=f(1)
调用部分:
test(@(x) x^2+x)
ans =
2
如果你的函数是有两个自变量的,那么稍作变动如下:
函数部分
function a=test(f)
a=f(1,2)
调用部分:
test(@(x,y) x^2+y)
ans =
3
[ 本帖最后由 beyondhxf 于 2010-3-24 17:43 编辑 ]
页:
[1]