matlab使用solve函数提示得不到解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab使用solve函数提示得不到解相关的知识,希望对你有一定的参考价值。

经过大量的代数计算,得到一个关于w的包含有贝塞尔函数(贝塞尔函数中包含未知数)的式子H,令H=0,就可以得到w,因为H很复杂,列不下,所以我就截了其中一部分,H=1/322367625586613460867743744000000000000*(-2943008120401609792200350742404512022921342382246000000000000*besselj(0,8235153604334621/15972753470636985005687493885952000*(6346289403407083247056746626526*w^2-92823068932712446072437491456000000)^(1/2))*(6346289403407083247056746626526*w^2-92823068932712446072437491456000000)^(1/2)+5708204780116637638215812403162370269941216723699371462235258880000000000000000*besselj(1,8235153604334621/15972753470636985005687493885952000*(6346289403407083247056746626526*w^2-92823068932712446072437491456000000)^(1/2))+。。。。。。
本来我的想法是因为这个式子包含有贝塞尔函数,不是多项式,所以只好使用solve函数,可是却提示Warning: Explicit solution could not be found. ans =[ empty sym ] ,不知道该用哪个函数能解出未知数w?盼望各位给予指点!不胜感激!
首先很感谢vbtraz的回答,虽然有点小失望,可是我觉得你说的对,所以还是多谢了!
这几天我查找了些有关的资料,曾经有人提到,如果有初始值,可以用牛顿法来解,不过matlab的牛顿法我没接触过。。。不知道能不能帮忙给出关于我这个式子的牛顿法的程序?或者类似的,我自己再去钻研也好啊!先在这里谢谢了!

参考技术A matlab中的solve()可以得到方程(是指一般的方程组或方程)的解析解或精确解。如求复杂方程的数值解,可以数值分析的二分法,牛顿法等等来求解。 参考技术B 要是啥式子给matlab扔进去就能解出来,这世界上没数学难题了。。。 其实能解的只是很简单的一部分, 多数都会是这个结果,没办法 。。
你去google matlab newton 第一个结果就是啊

http://leniwiki.epfl.ch/index.php/Matlab/newton.m本回答被提问者采纳

用Matlab的solve函数解方程组时如何限定某些参数为实数,某些参数为复数?使得对应的解只能为实数和复数?

我的意思是说使其在解出来的时候就是实数,而不是对解出来的复数取实部或虚部。

参考技术A real(ans)求结果实部,imag(ans)求结果虚部.

以上是关于matlab使用solve函数提示得不到解的主要内容,如果未能解决你的问题,请参考以下文章

matlab的solve用法

matlab的solve函数限定解的范围

MATLAB 中如何用solve函数解数目不定的方程组???

matlab solve函数的用法

MATLAB中solve函数最多解多少个方程

matlab中solve的用法