[已解决] matlab 解非线性方程只有复数解

[复制链接]
uhda 发表于 2022-5-18 09:44:36
本帖最后由 uhda 于 2022-5-18 09:46 编辑

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

- 0.2706702470197805855288345099971 + 0.27709160310623304634861907521709i

最佳答案


TouAkira 发表于 2022-5-18 13:15:50
  1. F = matlabFunction( kw - q, 'vars', fai );
  2. Result = fzero( F, rand )
复制代码

Result =         0.387352732188288
F( Result ) =      -6.7762635780344e-21
回复此楼

2 条回复


TouAkira 发表于 2022-5-18 13:15:50
  1. F = matlabFunction( kw - q, 'vars', fai );
  2. Result = fzero( F, rand )
复制代码

Result =         0.387352732188288
F( Result ) =      -6.7762635780344e-21
回复此楼

uhda 发表于 2022-5-18 13:29:12
TouAkira 发表于 2022-5-18 13:15
Result =         0.387352732188288
F( Result ) =      -6.7762635780344e-21

谢谢大佬!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表