【发布时间】:2019-04-16 12:29:10
【问题描述】:
我有以下代码:
x = 0:0.001:2.5;
gamma_l = @(x) 2*x;
我想整合以下内容:
integral( log(gamma_l), 0 , 0.6 )
但它给了我错误:
类型输入参数的未定义函数'log' 'function_handle'。
我知道我可以定义:
gamma_l_l = @(x) log(2*x);
integral( gamma_l_l, 0 , 0.6 )
因为它以这种方式工作。但是,我想知道为什么第一种情况不起作用。以及是否有办法在不定义新函数的情况下集成函数。
【问题讨论】:
-
第一种情况不起作用,因为
log()需要数字作为输入,而您没有给它一个数字,而是给它一个函数句柄。函数句柄的对数没有定义。 -
谢谢@Ander!那么你认为最有效(唯一)的方法是定义另一个函数吗?没有办法在积分内部定义复合函数吗?
-
Gnovice 的回答是你应该如何处理这个问题;)
标签: matlab integration