Python 板


LINE

※ 引述《adnodnya (N.D.)》之銘言: : 我試圖想要求一個方程式的圖形 : f(x)= x ^(2/3) : 唸做: x的三分之二次方 (怕有誤解@@") : 我找了一下math模組發現 : math.pow(x,y) : y值說一定要是整數 : 所以不能用math(x,2/3) : 而math.sqrt(x) : 又不能開奇數方根 : 請問版上的高手們, 有沒有其他可以替代的寫法或模組? : 拜託了~~~感謝~~~ 以下是我修改網友的程式 不全是我寫的 程式目的: 輸出一個f(x)= 2x-3x^(2/3) 的圖形 #======================================================== #!/usr/bin/env python #coding=utf-8 import math import cmath import Image import ImageDraw class DrawFun(): #畫布像素尺寸 width = 512 height = 512 #X取值範圍 min = -10 max = 10 #X的布長值 step = 1 #X的單位值像素 unit = 1 #畫板對象 canvas = None #畫筆對象 draw = None #畫布中心值偏移值 ctrx = 0 ctry = 0 def __init__(self, width, height, min, max, step, unit): self.width = width self.height = height self.min = min self.max = max self.step = step self.unit = unit #創建畫板對象 self.canvas = Image.new("RGB", [self.width,self.height]/ ,(255,255,255)) #創建畫筆對象 self.draw = ImageDraw.Draw(self.canvas) #擷取畫布中心點 self.ctrx = math.floor(self.width/2) self.ctry = math.floor(self.height/2) #繪製中心軸線 self.draw.line([(0,self.ctry),(self.width,self.ctry)],/ fill =(0,0,0)) self.draw.line([(self.ctrx,0),(self.ctrx,self.height)],/ fill =(0,0,0)) #顯示單位格數 左右對稱計算 viewx = int(math.floor((self.width/self.unit + 1)/2)) viewy = int(math.floor((self.height/self.unit + 1)/2)) #繪製單元格 for x in range(1,viewx+1): offsetx = x * self.unit self.draw.line([(self.ctrx + offsetx,0),(self.ctrx / + offsetx,self.height)], fill =(200,200,200)) self.draw.line([(self.ctrx - offsetx,0),(self.ctrx / - offsetx,self.height)], fill =(200,200,200)) for y in range(1,viewy+1): offsety = y * self.unit self.draw.line([(0,self.ctry + offsety),(self.width,/ self.ctry + offsety)], fill =(200,200,200)) self.draw.line([(0,self.ctry - offsety),(self.width,/ self.ctry - offsety)], fill =(200,200,200)) def paint(self, fun, color): #結果點集 aryPoint = [] #轉換為1為布長 min = int(math.floor(self.min/self.step)) max = int(math.floor(self.max/self.step)) for i in range(min, max): #實際函數值 x = i * self.step y = fun(x) #笛卡爾座標系到屏幕座標系 #比例變換 x = x * self.unit y = y * self.unit #座標變換 curX = self.ctrx + x curY = self.ctry - y #保存座標到數組 aryPoint.append((curX,curY)) #繪製函數 self.draw.point(aryPoint,fill = color) #儲存到PNG def saveToPNG(self, path): self.canvas.save(path,"PNG") def test(x): ########################################################### abc = 2*x-3*(math.pow(x,2/3)) return abc ########################################################### if __name__ == "__main__": #DrawFun("畫布寬度","畫布高度","x最小值","x最大值",/ "x步長值","x單位值像素大小") drawfun = DrawFun(512, 512, -10, 10, 0.001, 50) #DrawFun.paint(f(x)函數,RGB顏色) drawfun.paint(test,(0,0,255)) #儲存圖片 drawfun.saveToPNG("demo.png") #======================================================== python math的模組敘述說 math.pow(x,y) y 只能接受整數值 所以現在卡關卡在這 不知道有什麼方法可以求的立方根 解決x的2/3次方 拜託各位高手大大了~~~ --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.127.220.24
1F:→ ya790206:y也可以接受浮點數... math.pow(27,1/3.0)=>3.0 11/08 18:20
2F:→ ya790206:你的問題在於x為負數時,他無法開立方。 11/08 18:21
3F:→ ya790206:改成math.pow(x**2,1/3.0)看看 11/08 18:22
4F:推 suzuke:推樓上,這樣就可以避免掉負數的問題~ 11/08 21:18
5F:→ adnodnya:哇!!!好威喔!!! 原來是這麼回事~ 感謝大大們~~~ 11/09 01:12







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP