第一种代码如下:
q=solve('190.014*p-29.228*p^(3/2)=231');
q
求出解为
q =
[ 39.716461423194730766864016627548]
[ 1.4976108621303213878418505668174]
由于我需要用很多别的变量数据带入原来代码中代替其等式右边的231这个数据,所以不能用引号中的等号式形式~于是把代码改为如下第二种形式:
syms p;
a=231;
q=solve( 190.014*p-29.228*p^(3/2)-a );
q
有趣的事情发生了,求出解为:
q =
[ (1/106784498*(7579600445067569871399887+11746294780*i*696475019669707750440481549995^(1/2))^(1/3)+1002925561/2/(7579600445067569871399887+11746294780*i*696475019669707750440481549995^(1/2))^(1/3)+31669/14614)^2]
[
(-1/213568996*(7579600445067569871399887+11746294780*i*696475019669707750440481549995^(1/2))^(1/3)-1002925561/4/(7579600445067569871399887+11746294780*i*696475019669707750440481549995^(1/2))^(1/3)+31669/14614-1/2*i*3^(1/2)*(1/106784498*(7579600445067569871399887+11746294780*i*696475019669707750440481549995^(1/2))^(1/3)-1002925561/2/(7579600445067569871399887+11746294780*i*696475019669707750440481549995^(1/2))^(1/3)))^2]
我又把代码变成如下的第三种形式:
syms p;
q=solve( 190.014*p-29.228*p^(3/2)-231 );
q
还是出现了上述的奇怪的解,请问这是怎么回事啊?
并且我曾经试验过这个奇怪的解的正确性,把这个解带入第一种形式等号的左边,求解出其数据实部为231,其虚部为一个非常小的数,系数在10的负12次方左右.可见这个奇怪的解也是正确的.
高手帮忙看看,我希望能出现第一次那样的解~,该如何解决这个问题,多谢,多谢~