⑴ 牛頓迭代法python程序求平方根和立方根
import math
def sqrt(x):
y = x
while abs(y * y - x) > 1e-6:
y = (y + x / y) / 2
return y
print(sqrt(5))
print(math.sqrt(5))
⑵ 根據牛頓迭代法,編寫程序。要求,由鍵盤輸入a及n值,編程計算a的平方根、立方根、次方根等。迭代的結
while (rs.next()) {
Bars bar = new Bars();
bar.setId(rs.getLong("id"));
bar.setName(rs.getString("name"));
bar.setType(rs.getInt("type"));
bar.setCreatorId(rs.getLong("creator_id"));
resultList.add(bar);
}
⑶ 牛頓迭代法的Python代碼
Python代碼以實例展示求解f(x) = (x-3)**3,f(x) = 0 的根。def f(x):
return (x-3)**3 』''定義f(x) = (x-3)**3'''
def fd(x):
return 3*((x-3)**2) 』''定義f'(x) = 3*((x-3)**2)
def newtonMethod(n,assum):
time = n
x = assum
Next = 0
A = f(x)
B = fd(x)
print('A = ' + str(A) + ',B = ' + str(B) + ',time = ' + str(time))
if f(x) == 0.0:
return time,x
else:
Next = x - A/B
print('Next x = '+ str(Next))
if A == f(Next): print('Meet f(x) = 0,x = ' + str(Next)) 』''設置迭代跳出條件,同時輸出滿足f(x) = 0的x值'''
else:
returnnewtonMethod(n+1,Next)
newtonMethod(0,4.0) 』''設置從0開始計數,x0 = 4.0'''
⑷ 用python解答數學的牛頓迭代法問題
導數f′(x0)=lim(f(x0+Δx)-f(x0))/Δx的變換應用,求滿足f(x0+Δx)=0的x0+Δx
⑸ 牛頓法可以開立方嗎
只能得出近似值,比方 求 ³ √120=x,
我們知道 125的立方根為5, 於是設 ( 5+n)³=120——①,n是一個很小的數,因而n²,n³就可忽略不計了。 利用(a+b)³展開:
得出:120=5³+3*5²n=~125+75n: n=-5/75=-0.067;
代入①得:(-5+0.067)³=120,即 ³ √120=~4.9333 用計算器核對,應為答案4.9324
如果你嫌誤差太大,你可以按上述方法再來一遍,或幾遍;直至滿意為止。牛頓法收斂很快,2-3次 就很準的了。祝你成功!
⑹ 想用python來求解牛頓插值問題,編了一段程序,其中有些錯誤看不出來,懇請大佬指出錯誤,代碼如下
importmatplotlib.pyplotasplt
frompylabimportmpl
importmath
"""
牛頓插值法
插值的函數表為
xi-28.9,-12.2,4.4,21.1,37.8
f(xi)2.2,3.9,6.6,10.3,15.4
"""
x=[-28.9,-12.2,4.4,21.1,37.8]
y=[2.2,3.9,6.6,10.3,15.4]
"""計算4次差商的值"""
defFour_time_difference_quotient(x,y):
i=0#i記錄計算差商的次數
quotient=[0,0,0,0,0,]
whilei<4:
j=4
whilej>i:
ifi==0:
quotient[j]=((y[j]-y[j-1])/(x[j]-x[j-1]))
else:
quotient[j]=(quotient[j]-quotient[j-1])/(x[j]-x[j-1-i])
j-=1
i+=1
returnquotient;
deffunction(data):
returnx[0]+parameters[1]*(data-0.4)+parameters[2]*(data-0.4)*(data-0.55)+
parameters[3]*(data-0.4)*(data-0.55)*(data-0.65)
+parameters[4]*(data-0.4)*(data-0.55)*(data-0.80)
"""計算插值多項式的值和相應的誤差"""
defcalculate_data(x,parameters):
returnData=[];
fordatainx:
returnData.append(function(data))
returnreturnData
"""畫函數的圖像
newData為曲線擬合後的曲線
"""
defdraw(newData):
plt.scatter(x,y,label="離散數據",color="red")
plt.plot(x,newData,label="牛頓插值擬合曲線",color="black")
plt.scatter(0.596,function(0.596),label="預測函數點",color="blue")
plt.title("牛頓插值法")
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False
plt.legend(loc="upperleft")
plt.show()
parameters=Four_time_difference_quotient(x,y)
yuanzu=calculate_data(x,parameters)
draw(yuanzu)
⑺ 求用python計算任意一個數,先對其取絕對值,然後計算其平方、平方根、立方和立方根並輸出結果的代碼。
python如何計算平方和平方根在python中,有多種方法可以求一個數的平方和平方根,可以使用:內置模塊、表達式、內置函數等實現。1.使用內置模塊mathimport mathmath.pow(4,2) 求4的平方...
⑻ 輸入10個數,輸出對應的立方根python程序
>>>importmath
>>>math.pow(27,1.0/3)
3.0
注意:這種方法求立方根是不準確的。
>>>math.pow(64,1.0/3)
>>>math.pow(64,1.0/3)
3.9999999999999996
上面是求立方根的方法。
輸入10個數,求立方根:
>>>test=raw_input()
12345678910
>>>foriintest.split():
math.pow(int(i),1.0/3)
1.0
1.2599210498948732
1.4422495703074083
1.5874010519681994
1.7099759466766968
1.8171205928321397
1.912931182772389
2.0
2.080083823051904
2.154434690031884
⑼ 如何用Python 和牛頓法解四元一次方程組
比較弱的問一下,你確定不是
'''
theta22=spy.Symbol('theta22')
theta33=spy.Symbol('theta33')
theta44=spy.Symbol('theta44')
theta55=spy.Symbol('theta55')
'''
這段有問題?
多了引號?或者。。
⑽ 速算立方根
(x/y2+2y)/3意思就是當y是x的立方根的一個近似值時,x除以2y加上2y的和再除以3就是答案了
求立方根的牛頓法基於如下事實,如果y是x的立方根的一個近似值,那麼下式將給出一個更好的近似值:
(x/y2+2y)/3
請利用這一公式實現一個類似平方根過程的求立方根的過程。
舉例說明: 17開立方.首先求17以內的最大立方數為2^3=8,17-8=9,在9的後面加上三個0,9000
在9000范圍內,設立方根的第二位是A,則用2A*A*2*30+A^3,此算式不>9000,A=5,及立方根的第二位是5用9000-7625=1375,在1375後面加上三個0來求立方根的第三位,
設第三位是B,則用25B*25*B*30+B^3,則B=7,及1375000-1349593=25407,依此類推,求第四位的算式是257C*257*C*30+C^3,可以算出C=1,及25407000-19822411=5584589,在往下5584589000求第五位.17立方根的1前四位是2.571。
2571D*2571*D*30+D^3,D=2