'function_handle' 类型的操作数不支持一元运算符 '.''。 出错 gradient>parse_inputs (line 139) f = f.'; 出错 gradient (line 48) [f,ndim,loc,rflag] = parse_inputs(f,varargin); 出错 ceshi1 (line 14) grad = gradient(@(x) circuit(x), x0);
时间: 2023-06-18 09:05:38 浏览: 1069
SMIMPTool2.5.30_v7雷克沙u盘量产工具.rar
这个错误是因为你在对一个函数句柄进行一元运算符"."操作,但是函数句柄不支持这种操作。具体来说,在你的代码中,当你执行`grad = gradient(@(x) circuit(x), x0)`时,`@(x) circuit(x)`是一个函数句柄,而在`gradient`函数内部,它试图使用`.'`运算符对这个函数句柄进行转置操作,导致了错误。
要解决这个错误,你需要修改代码,使其不再对函数句柄进行转置操作。具体来说,你可以将`@(x) circuit(x)`替换为一个匿名函数,这个匿名函数返回`circuit(x)`的转置,如下所示:
```
grad = gradient(@(x) circuit(x).', x0);
```
这样就可以避免对函数句柄进行转置操作,从而解决这个错误。
阅读全文