最佳答案
请不要重复发帖!把同一个帖反复发反复发,非常惹人反感! 很多论坛用户有个典型错觉,"MATLAB是万能的,随便一个积分都能算出解析表达式、随便一个方程都能解出解析表达式"。 薛定宇教授: 实际上很多积分求不出对应的解析表达式,复杂方程如超越方程、简单多项式方程如一元五次方程,是不可能算出根的公式(即解析表达式)的。 《 得不到具体的解析式 1(超链接,自己点进去看) 》 《 得不到具体的解析式 2(超链接,自己点进去看) 》 能求出解析解的方程/积分是极少数,大部分工程或科研中遇到的超越方程/复杂积分等等,是求不出解析解/符号解的。对它们的求解往往只能数值逼近,即,全部参数都代入具体数值,再使用数值方法求解。 简单讲,就是: ①超越方程、复杂方程不要用 solve函数 求,它是试图求符号解,会非常慢,而且相当一部分方程本身没有符号解,要改用 fzero函数(超链接) 或 fsolve函数(超链接) 等数值方法求解。 ②复杂积分不要指望用 符号积分int函数(超链接) 能求出目标积分的解析表达式。试图求符号解会非常慢,而且相当一部分积分本身就没有符号解。 要改用 数值积分integral函数(超链接) 或 数值积分trapz函数(超链接) 等数值方法求解。 |
1 条回复
请不要重复发帖!把同一个帖反复发反复发,非常惹人反感! 很多论坛用户有个典型错觉,"MATLAB是万能的,随便一个积分都能算出解析表达式、随便一个方程都能解出解析表达式"。 薛定宇教授: 实际上很多积分求不出对应的解析表达式,复杂方程如超越方程、简单多项式方程如一元五次方程,是不可能算出根的公式(即解析表达式)的。 《 得不到具体的解析式 1(超链接,自己点进去看) 》 《 得不到具体的解析式 2(超链接,自己点进去看) 》 能求出解析解的方程/积分是极少数,大部分工程或科研中遇到的超越方程/复杂积分等等,是求不出解析解/符号解的。对它们的求解往往只能数值逼近,即,全部参数都代入具体数值,再使用数值方法求解。 简单讲,就是: ①超越方程、复杂方程不要用 solve函数 求,它是试图求符号解,会非常慢,而且相当一部分方程本身没有符号解,要改用 fzero函数(超链接) 或 fsolve函数(超链接) 等数值方法求解。 ②复杂积分不要指望用 符号积分int函数(超链接) 能求出目标积分的解析表达式。试图求符号解会非常慢,而且相当一部分积分本身就没有符号解。 要改用 数值积分integral函数(超链接) 或 数值积分trapz函数(超链接) 等数值方法求解。 |
Powered by Discuz! X3.4
© 2001-2022