从Matlab到C#:我应该用什么来代替fsolve?
我必须将Matlab脚本转换为C#。matlab代码使用fsolve()查找函数的不动点从Matlab到C#:我应该用什么来代替fsolve?,c#,matlab,numerical-methods,C#,Matlab,Numerical Methods,我必须将Matlab脚本转换为C#。matlab代码使用fsolve()查找函数的不动点 function Pr2=adiab(Pr1,Tr1,Pv1,Tv1,Pv2,k,kv,Vv,Vr) Pr2=(Pr1^(1/k)-Vv/Vr*Tr1/Tv1*Pr1^((1-k)/k)*(Pv2^(1/kv)/Pv1^((1-kv)/kv)-Pv1))^k; end % ... Prav(i+1)=fsolve(@(Pr2) Pr2-adiab(Prav(i),Trav(i),Pa,Ta,Pr2,
function Pr2=adiab(Pr1,Tr1,Pv1,Tv1,Pv2,k,kv,Vv,Vr)
Pr2=(Pr1^(1/k)-Vv/Vr*Tr1/Tv1*Pr1^((1-k)/k)*(Pv2^(1/kv)/Pv1^((1-kv)/kv)-Pv1))^k;
end
% ...
Prav(i+1)=fsolve(@(Pr2) Pr2-adiab(Prav(i),Trav(i),Pa,Ta,Pr2,k,kv,Vvt,Vrt),Prav(i));
我知道我需要一个数值解算器,但有太多我不知道哪种方法最适合这个问题
- 有一系列的寻根算法
- 具有解决非线性方程组的方法:
非线性方程组求解
- 牛顿法
- 割线法
- 半除法
- 弦法
- 我不能用:免费版有GPL许可证,商业版太贵了