x (real) = -.93681239703869228818238892721748可以用数值方法, 步进似乎用导数判断好些
这是matlab的语法, 要点就是不断令x = x - f(x)/f'(x)里面1e-5是精度, i是控制步数 x = 1; i = 0; while (abs(x^13+22.6*x+21.6)>=1e-5) & (i<=10) x=x-(x^13+22.6*x+21.6)/(13*x^12+22.6); i=i+1; end
x[0] = 0.977535 + i * 0.927999 x[1] = 0.977535 - i * 0.927999 x[2] = -1.124897 + i * 0.386235 x[3] = -1.124897 - i * 0.386235 x[4] = 1.311658 + i * 0.339235 x[5] = 1.311658 - i * 0.339235 x[6] = -0.264542 + i * 1.281281 x[7] = -0.264542 - i * 1.281281 x[8] = -0.831074 + i * 0.957135 x[9] = -0.831074 - i * 0.957135 x[10] = 0.399725 + i * 1.271786 x[11] = 0.399725 - i * -1.271786 x[12] = -0.936812
先拿100算 100(13) + 22.6*100 + 21.6 > 0
再拿-100算 -100(13) + -22.6*100 + 21.6 < 0再取(100 + (-100)) / 2 代入运算 > 0
则再取 (-100 + 0) / 2 代入算,这样不断逼近,只到误差小于一定的值,嘿嘿。
x (real) = -.93681239703869228818238892721748可以用数值方法, 步进似乎用导数判断好些
x = 1;
i = 0;
while (abs(x^13+22.6*x+21.6)>=1e-5) & (i<=10)
x=x-(x^13+22.6*x+21.6)/(13*x^12+22.6);
i=i+1;
end
x[1] = 0.977535 - i * 0.927999
x[2] = -1.124897 + i * 0.386235
x[3] = -1.124897 - i * 0.386235
x[4] = 1.311658 + i * 0.339235
x[5] = 1.311658 - i * 0.339235
x[6] = -0.264542 + i * 1.281281
x[7] = -0.264542 - i * 1.281281
x[8] = -0.831074 + i * 0.957135
x[9] = -0.831074 - i * 0.957135
x[10] = 0.399725 + i * 1.271786
x[11] = 0.399725 - i * -1.271786
x[12] = -0.936812