声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1685|回复: 1

[编程技巧] 利用匿名函数组合解方程

[复制链接]
发表于 2008-8-3 09:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
发个题目,解一下附件里的方程(公式编辑器编的不能直接贴上来,只能截图了)
想了半天了,最后还是觉得用两个匿名函数的组合解方程比较简单。
  1. g=@(c) (quad(@(x) (x.^2+c*x+1), 0, 1));

  2. 解释一下:
  3. 1. 将x.^2+c*x+1写成一个匿名函数,但不必把它指定给变量:@(x) (x.^2+c*x+1)
  4. 2. 把函数句柄作为参数传递给积分函数quad : quad(@(x) (x.^2+c*x+1), 0, 1)
  5. 3. 把c作为输入参数,对整个方程构造匿名函数:g=@(c) (quad(@(x) (x.^2+c*x+1), 0, 1));


  6. 下面对c赋值,验证一下结果,取c=2
  7. >>g=@(c) (quad(@(x) (x.^2+c*x+1), 0, 1));
  8. >> g(2)
  9. ans =
  10. 2.3333
复制代码
各位有其他的解法请贴上来交流!共同探讨,共同提高!

[ 本帖最后由 vansen 于 2008-8-3 09:27 编辑 ]

方程

方程

评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2014-11-24 22:37 | 显示全部楼层
或许这个代码更简单:g=@(c) quad((@(x) x.^2+c.*x+1),0,1)
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-19 10:21 , Processed in 0.061118 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表