matlab 解非线性方程出错

2025-06-28 03:51:03
推荐回答(2个)
回答1:

最主要的问题在于,eq3是关于e的7次方程,这样的方程没有一般求根公式的,而方程系数中包含符号量b,所以会导致求解失败。

 

从程序的思想看,最终还是希望求出具体数值来的,那么方程的解可以用数值解法——基本做法就是,在solve之前,先把包含系数bb、dd、ee的两个方程,即eq2、eq4,代入具体数据,然后求解即可。也就是说,在solve那一句之前加上:

eq2= subs(eq2,{'bb','dd','ee'},{i1(j-1), u2(j-1),fai(j-1)});
eq4= subs(eq4,{'bb','dd','ee'},{i1(j-1), u2(j-1),fai(j-1)});

 

不过,这样又带来一个新的问题:求解7次方程会得到7个解,你要保留哪一个?

回答2:

有参数未定义