matlab 解非线性方程只有复数解。

matlab 解非线性方程只有复数解,按道理来说应该是有实数解的,这是什么原因呢,可以通过其他方法得到实数解吗
clear;
clc;
syms fai
a=1.45;n=2.68;m=0.6269; ks = 0.00004821176 ; q=2*10^(-5);
se=(1/(1+(a*fai)^n))^m
krw = se^(1/2)*(1-(1-se^(1/m))^m)^2
kw = ks * krw
vpasolve( kw-q==0, fai )
ans =
- 0.2706702470197805855288345099971 + 0.27709160310623304634861907521709i

 Réponse acceptée

xexbmk
xexbmk le 19 Mai 2023

0 votes

F = matlabFunction( kw - q, 'vars', fai );
Result = fzero( F, rand )
Result = 0.387352732188288
F( Result ) = -6.7762635780344e-21

Plus de réponses (0)

Catégories

En savoir plus sur Symbolic Math Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!