以矩阵形式给出的非线性方程组(使用fsolve)

时间:2015-07-11 06:47:51

标签: matlab

我正在尝试使用fsolve来解决非线性方程组。系统以矩阵形式(图像)给出,u_i是未知数。

plz建议如何创建要赋予fsolve输入的函数。 感谢enter image description here

1 个答案:

答案 0 :(得分:0)

结帐the documentation for fsolve。您可以为自己的文件中的函数或匿名创建函数句柄,并使用fsolve调用它:

h = @(U) P'*U.^2;  % function handle
U_next = fsolve(h, U);

如果您正在制作内部产品,还需要确保左侧具有相同数量的,因为您的右侧有。例如,如果你有一些任意的4x1矩阵P和最初的1x4向量U,你必须采取一些转置来确保你的内在产品能够解决:

P = rand(4, 1);  % random column vector
U = rand(1, 4);  % random row vector
h = @(U) P'*U'.^2;  % (1x4) * (4x1) = scalar result

或者如果你想尝试按元素进行乘法运算:

h = @(U) P'.*U.^2;  % (1x4) .* (1x4) = (1x4) result with element-wise multiplication