【发布时间】:2016-06-08 21:59:20
【问题描述】:
我有以下矩阵
R=(A-C)*inv(A+B-C-C')*(A-C');
其中A 和B 是n × n 矩阵。我想找到 n*n 矩阵C 使得R 的行列式最小化,所以:
C=arg min (det(R));
MATLAB 中有什么函数可以解决这个问题吗?
【问题讨论】:
标签: matlab
我有以下矩阵
R=(A-C)*inv(A+B-C-C')*(A-C');
其中A 和B 是n × n 矩阵。我想找到 n*n 矩阵C 使得R 的行列式最小化,所以:
C=arg min (det(R));
MATLAB 中有什么函数可以解决这个问题吗?
【问题讨论】:
标签: matlab
您似乎正在尝试找到无约束多变量函数的最小值。这大概可以通过fminunc来实现
fun = @(x)x(1)*exp(-(x(1)^2 + x(2)^2)) + (x(1)^2 + x(2)^2)/20;
x0 = [1,2];
[x,fval] = fminunc(fun,x0)
请注意,文档中没有使用矩阵的示例,这可能是因为在尝试解决任何非微小矩阵的问题时,可能会出现可怕的性能。 (这不是因为 matlab,而是因为问题的性质)。
意识到这种方法不(不能)保证最优,只有局部最优。
【讨论】: