【发布时间】:2013-11-27 04:38:06
【问题描述】:
只要 symEq 中的符号输入数量为 2,此代码就可以正常工作,这会产生一个带有两个参数的函数句柄,x(1), x(2):
syms A
A = sym('A', [2 1]);
b = [1 2;3 4];
c = [3 4];
range = [1 1];
symEq(A) = abs(sum(b*(A-c')));
Eq = @(x) double(symEq(x(1), x(2)));
[X,Y] = fminunc(Eq,range)
但是如果symEq中的符号输入改成3,就会产生错误,除非我把函数句柄改成接受三个参数x(1), x(2), x(3)。
但是我需要参数的数量是任意数字,比如 510,并且函数句柄自动具有尽可能多的参数:x(1), x(2), ... x(510),而无需我手动将 510 个未知变量键入代码中。
我怎样才能做到这一点?
【问题讨论】:
-
我的回答对你有帮助吗?
标签: matlab