利用匿名函数组合解方程
发个题目,解一下附件里的方程(公式编辑器编的不能直接贴上来,只能截图了)想了半天了,最后还是觉得用两个匿名函数的组合解方程比较简单。g=@(c) (quad(@(x) (x.^2+c*x+1), 0, 1));
解释一下:
1. 将x.^2+c*x+1写成一个匿名函数,但不必把它指定给变量:@(x) (x.^2+c*x+1)
2. 把函数句柄作为参数传递给积分函数quad : quad(@(x) (x.^2+c*x+1), 0, 1)
3. 把c作为输入参数,对整个方程构造匿名函数:g=@(c) (quad(@(x) (x.^2+c*x+1), 0, 1));
下面对c赋值,验证一下结果,取c=2
>>g=@(c) (quad(@(x) (x.^2+c*x+1), 0, 1));
>> g(2)
ans =
2.3333各位有其他的解法请贴上来交流!共同探讨,共同提高!
[ 本帖最后由 vansen 于 2008-8-3 09:27 编辑 ] 或许这个代码更简单:g=@(c) quad((@(x) x.^2+c.*x+1),0,1)
页:
[1]