matlab解方程出现复数

x=solve('10^(9500*x+1.63)-10^10.35+2*10^(8700*x+3.72)=0','x')警告:Supportofcharactervec... x=solve('10^(9500*x+1.63)-10^10.35+2*10^(8700*x+3.72)=0','x')
警告: Support of character vectors that are not valid variable names or define a number will be removed in a future release. To create
symbolic expressions, first create symbolic variables and then use operations on them.
> In sym>convertExpression (line 1559)
In sym>convertChar (line 1464)
In sym>tomupad (line 1216)
In sym (line 179)
In solve>getEqns (line 405)
In solve (line 225)
警告: Do not specify equations and variables as character vectors. Instead, create symbolic variables with syms.
> In solve>getEqns (line 445)
In solve (line 225)
警告: The solutions are valid under the following conditions: FALSE.
To include parameters and conditions in the solution, specify the 'ReturnConditions' option.
> In solve>warnIfParams (line 507)
In solve (line 356)

x =

0.00072769603461595828113813268738696 - 0.0078405007457458212187236007282809i

这个x应该是个实数物理量,请问求解过程有问题吗,我是matlab小白~
展开
 我来答
lhmhz
高粉答主

2018-03-20 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17007

向TA提问 私信TA
展开全部

用solve()函数求解其方程,可以得到一个实数解和九四个虚数解。

x=0.00072670001175922463023233095120785

另一种方法,可以用fsolve()函数

>> fun=@(x)10^(9500*x+1.63)-10^10.35+2*10^(8700*x+3.72);

>> x=fsolve(fun,0)

x=0.0007267

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式