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

Matlab 以矩阵形式给出的非线性方程组(使用fsolve),matlab,Matlab,我试图用fsolve解一个非线性方程组。系统以矩阵形式(图像)给出,u_i为未知数 请建议如何创建要输入到fsolve的函数。 谢谢退房。您可以为自己文件中的函数或匿名函数创建函数句柄,并使用fsolve调用它: h = @(U) P'*U.^2; % function handle U_next = fsolve(h, U); 如果您在做内积,还需要确保左侧的列数与右侧的行数相同。例如,如果您有一些任意4x1矩阵P和初始1x4向量U,则必须进行一些转置,以确保内积计算: P = rand(

我试图用
fsolve
解一个非线性方程组。系统以矩阵形式(图像)给出,u_i为未知数

请建议如何创建要输入到
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
退房。您可以为自己文件中的函数或匿名函数创建函数句柄,并使用
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