Matlab 解数值方程

Matlab 解数值方程,matlab,math,equation,equation-solving,Matlab,Math,Equation,Equation Solving,我想在MATLAB中求解以下方程: L=(9.81.*p.^2)。/(2.*pi)。*tanh(2.pi.(d./L)) p和d是预定义的向量L是要求解的变量 我试图通过以下方式解决此问题: %First guess L0 = 1.56 * P; fsolve( @(L) L - (9.81.*P.^2)./(2.*pi).*tanh(2.*pi.*(d./L), L0 ) 上面的代码不起作用 问题在于你的陈述不平衡-你缺少一个)。 试试这个: L0 = 1.56 * P; your_fun

我想在MATLAB中求解以下方程:

L=(9.81.*p.^2)。/(2.*pi)。*tanh(2.pi.(d./L))

p
d
是预定义的向量
L
是要求解的变量

我试图通过以下方式解决此问题:

%First guess
L0 = 1.56 * P;
fsolve( @(L)  L - (9.81.*P.^2)./(2.*pi).*tanh(2.*pi.*(d./L), L0 )

上面的代码不起作用

问题在于你的陈述不平衡-你缺少一个
。 试试这个:

L0 = 1.56 * P;
your_function = @(L)  L - (9.81.*P.^2)./(2.*pi).*tanh(2.*pi.*(d./L))
fsolve(your_function, L0)

为什么不起作用?它是否产生不正确的结果,是否运行ito错误?提供错误输入需要两个参数您可以添加一些小示例
P
d