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