亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 30291 | 回復(fù): 3
打印 上一主題 下一主題

用python解一元一次方程,一元二次方程,二元一次方程組 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2013-09-14 13:29 |只看該作者 |倒序?yàn)g覽
不需要化成一般形式,也不需要在系數(shù)和字母之間加入*號,只需要輸入未知數(shù)和方程即可,已經(jīng)打包,代碼也在包里
解方程.zip (2.06 MB, 下載次數(shù): 947)

一下是核心代碼(已經(jīng)先通過另一個(gè)函數(shù)化成PYTHON的表達(dá)式才用這個(gè)計(jì)算)

一元一次方程:
  1. def solve(eq,var='x'):   #利用虛數(shù)型解方程
  2.     eq1 = eq.replace("=","-(")+")"
  3.     c = eval(eq1,{var:1j})
  4.     return -c.real/c.imag
復(fù)制代碼
二元一次方程:
  1. def solve(eqa,eqb,x,y):   #利用虛數(shù)型解方程
  2.     #兩方程整理后分別為ax+by+c=0,dx+ey+f=0   把用來帶入方程2的x值放在put,x的終值為root1,y為root2
  3.     eq1 = eqa.replace("=","-(")+")"  #方程1移項(xiàng)


  4.     #化簡方程1
  5.     eq1=cheaker1(x,y,eq1)
  6.     a = (eval(eq1,{x:1j,y:0})).imag
  7.     b = (eval(eq1,{x:0,y:1j})).imag
  8.     c = (eval(eq1,{x:0,y:1j})).real

  9.     #帶入準(zhǔn)備
  10.     put = "(-("+str(b)+"y+"+str(c)+")/"+str(a)+")"

  11.     eq2 = eqb.replace("=","-(")+")"  #方程2移項(xiàng)

  12.     #將x帶入
  13.     two  = eq2.replace(x,put)


  14.     #整理y
  15.     two=cheaker1(x,y,two)

  16.     #求y
  17.     two1 = eval(two,{y:1j})
  18.     root2=(-two1.real/two1.imag)

  19.     #將y帶入,求x
  20.     one  = eq1.replace(y,str(root2))
  21.     one1 = eval(one,{x:1j})
  22.     root1=(-one1.real/one1.imag)

  23.    
  24.     return (root1,root2)
復(fù)制代碼
一元二次方程:
  1. def solve(eqa,x):   #利用虛數(shù)型解方程
  2.     #方程整理后為ax^2+bx+c=0
  3.    
  4.     eq1 = eqa.replace("=","-(")+")"  #方程移項(xiàng)


  5.     #化簡方程1


  6.     c = eval(eq1,{(str(x)+"**2"):0,x:0})
  7.     b =(eval(eq1,{(x+"**2"):0,x:1j})).imag
  8.     a1=c-(eval(eq1,{(x+"**2"):0,x:1j})).real
  9.     a =(eval(eq1,{(x+"**2"):1j,x:0})).imag+a1


  10.     #代入公式
  11.     d=b**2-4*a*c
  12.     if d<=0 : return (None,None)  #無實(shí)數(shù)解
  13.     root1=(-b+sqrt(d))/(2*a)
  14.     root2=(-b-sqrt(d))/(2*a)

  15.    
  16.     return (root1,root2)
復(fù)制代碼

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2013-10-10 12:31 |只看該作者
好高深的代碼,暈乎乎的

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2013-10-12 09:23 |只看該作者
建議樓主還是學(xué)一下線性代數(shù)吧。算法沒錯(cuò),方向錯(cuò)了
二次三次四次方程都有通解,很好辦。再高次只能用迭代算法來作近似計(jì)算了。用求根公式來解方向也是有問題的

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2013-10-22 10:58 |只看該作者
同意樓上,python的計(jì)算模塊很多的
不過作為自己動(dòng)手實(shí)踐的做法還是很好的
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP