在八度符号解决的就是不一样,在MATLAB
问题描述:
我用下面的OCTAVE命令求解方程:在八度符号解决的就是不一样,在MATLAB
syms lambda
f = 0.9999999999999999614356461247534*lambda^8 + 0.010136594318889089056437488043559*lambda^7 + 0.000015602822908760063058460837969499*lambda^6 - 0.000000047482181730798751628339904656436*lambda^5 - 1.6804583575154387080270563605856e-10*lambda^4 - 1.9779236089667689638174134679895e-13*lambda^3 - 1.1091457134190232245774382079799e-16*lambda^2 - 2.9823717782777009154185183839051e-20*lambda - 3.202469692780878591525091765936e-24
solve(f==0, lambda)
我得到的答案是
ans = {}(0x0)
另另一方面,当我尝试使用MATLAB中的相同的命令,我得到如下答案:
ans =
0.0027518081408059183214532684717853
-0.0075831287286429577224408168637228
- 0.00029575583281255452382838468617809 - 0.0001257455668418381216048479457788*i
- 0.0016381334730465236707629472401125 - 0.00001988265276086766636376330275894*i
- 0.0016381334730465236707629472401125 + 0.00001988265276086766636376330275894*i
- 0.00071874755966694673136475169368249 - 0.00019245511322083820223381924903732*i
- 0.00029575583281255452382838468617809 + 0.0001257455668418381216048479457788*i
- 0.00071874755966694673136475169368249 + 0.00019245511322083820223381924903732*i
有没有什么办法可以让八度音阶的OUTP ut等于MATLAB的输出,可能会有一些调整?
答
你不应该使用sysm这里:
c = [0.9999999999999999614356461247534,
0.010136594318889089056437488043559,
0.000015602822908760063058460837969499,
- 0.000000047482181730798751628339904656436,
- 1.6804583575154387080270563605856e-10,
- 1.9779236089667689638174134679895e-13,
- 1.1091457134190232245774382079799e-16,
- 2.9823717782777009154185183839051e-20,
- 3.202469692780878591525091765936e-24];
octave> format long
octave> roots (c)
ans =
-0.00758312872864296 + 0.00000000000000000i
0.00275180814080592 + 0.00000000000000000i
-0.00163813347304650 + 0.00001988265276021i
-0.00163813347304650 - 0.00001988265276021i
-0.00071874755966697 + 0.00019245511322079i
-0.00071874755966697 - 0.00019245511322079i
-0.00029575583281256 + 0.00012574556684184i
-0.00029575583281256 - 0.00012574556684184i
可以得到相同的根与其他软件产品确实