成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

6行python代碼的愛心線

開發 開發工具
前些日子在做績效體系的時候,遇到了一件囧事,居然忘記怎樣在Excel上擬合正態分布了,盡管在第二天重新拾起了Excel中那幾個常見的函數和圖像的做法,還是十分的慚愧。實際上,當時有效偏頗了,忽略了問題的本質,解決數據分析和可視化問題,其實也是Python的拿手好戲。

前些日子在做績效體系的時候,遇到了一件囧事,居然忘記怎樣在Excel上擬合正態分布了,盡管在第二天重新拾起了Excel中那幾個常見的函數和圖像的做法,還是十分的慚愧。實際上,當時有些偏頗了,忽略了問題的本質,解決數據分析和可視化問題,其實也是Python的拿手好戲。

例如,畫出指定區間的一個多項式函數:

Python 代碼如下:

  1. import numpy as np 
  2. import matplotlib.pyplot as plt 
  3. X = np.linspace(-4, 4, 1024) 
  4. Y = .25 * (X + 4.) * (X + 1.) * (X - 2.) 
  5. plt.title('$f(x)=\\frac{1}{4}(x+4)(x+1)(x-2)$'
  6. plt.plot(X, Y, c = 'g'
  7. plt.show() 

通過numpy的linspace方法來確定橫坐標x的取值范圍,列出方程,然后調用matplotlib的pyplot畫出函數曲線即可。numpy 是一個用python實現的科學計算包,包括一個強大的N維數組對象Array和成熟的函數庫,有用于整合C/C++和Fortran代碼的工具包,提供了實用的線性代數、傅里葉變換和隨機數生成函數等工具,可以理解成Matlab。

記得中學的時候,我問老師三角函數到底有啥用?(無知者無畏)老師反問我,“如果給了你一塊洋鐵,怎樣才能剪出煤爐煙囪的拐彎呢?”,現在仍然記得老師的這個例子,哪些看似抽象的數學公式,實際上是自己不知道她們的應用場景而已。

Python代碼如下:

  1. import numpy as np 
  2. import matplotlib.pyplot as plt 
  3. X = np.linspace(0, 2 * np.pi, 100) 
  4. YSinValues = np.sin(X) 
  5. YCosValues = np.cos(X) 
  6. plt.plot(X, YSinValues) 
  7. plt.plot(X, YCosValues) 
  8. plt.show() 

Matplotlib 是一個 Python 的 2D繪圖庫,甚至可以生成出版質量級別的圖形。

對于那些正態分布而言,Python 畫起來也就相當簡單了:

  1. import numpy as np 
  2. import matplotlib.pyplot as plt 
  3. def pdf(X, mu, sigma): 
  4.     a = 1. / (sigma * np.sqrt(2. * np.pi)) 
  5.     b = -1. / (2. * sigma ** 2) 
  6.     return a * np.exp(b * (X - mu) ** 2) 
  7. X = np.linspace(-6, 6, 1000) 
  8. for i in range(3): 
  9.     samples = np.random.standard_normal(10) 
  10.     mu, sigma = np.mean(samples), np.std(samples) 
  11.     plt.plot(X, pdf(X, mu, sigma), color = '.66'
  12. plt.plot(X, pdf(X, 0., 1.), color = 'b'
  13. plt.show() 

為了不顯得單調,這里多畫了幾條曲線。只要算出方差和均值,從excel中讀出哪些數值就可以擬合正態分布了。

回歸到主題,關于愛心線,有這樣一個凄美的愛情故事。

邇來流浪于吳越,一片閑云空皎潔。

300多年前,斯德哥爾摩的街頭,落魄的笛卡爾過著乞討的生活,全部的財產破破爛爛的衣服和隨身所帶的幾本數學書籍。清高的笛卡爾沒有開口請求路人施舍,只是默默地低頭在紙上寫寫畫畫,潛心于他的數學世界。 一個寧靜的午后,笛卡爾照例坐在街頭的陽光中研究數學問題,身邊過往的人群,喧鬧的車馬隊伍,都無法對他造成干擾。

有美一人,婉如清揚。邂逅相遇,與子偕臧。

“你在干什么呢?”扭過頭,笛卡爾看到一張年輕秀麗的瞼龐,一雙清澈的眼睛如湛藍的湖水,楚楚動人,她就是瑞典的小公主,國王最寵愛的女兒克里斯汀。 她蹲下身,拿過笛卡爾的數學書和草稿紙,和他交談起來。言談中,他發現,這個小女孩思維敏捷,對數學有著濃厚的興趣。

幾天后,笛卡爾意外地接到通知,國王聘請他做小公主的數學老師。滿心疑惑的笛卡爾跟隨侍衛一起來到皇宮,他聽到了從遠處傳來的銀鈴般的笑聲。他看到了那天在街頭偶遇的女孩子,從此,他當上了公主的數學老師。

情不知所起,一往而深

公主的數學在笛卡爾的悉心指導下突飛猛進,他們之間也開始變得親密起來。笛卡爾向她介紹了直角坐標系,代數與幾何可以結合起來,也就是日后笛卡爾創立的解析幾何學雛形。 在笛卡爾的帶領下,克里斯汀走進了奇妙的坐標世界,她對曲線著了迷。每天的形影不離也使他們彼此產生了愛慕之心。

在瑞典這個浪漫的國度里,一段純粹而美好的愛情悄然萌發。

念去去,千里煙波,暮靄沉沉楚天闊。

他們的戀情傳到了國王的耳中,國王大怒,下令將笛卡爾處死。在克里斯汀的苦苦哀求下,國王將他放逐回國,公主被軟禁在宮中。

當時,歐洲大陸正在流行黑死病。笛卡爾回到法國后不久,便染上重病。在生命進入倒計時的那段日子,他日夜思念的還是街頭偶遇的那張溫暖笑臉。他每天堅持給她寫信,盼望著她的回音。然而,這些信都被國王攔截下來,公主一直沒有收到他的任何消息。

欲知心里事,看取腹中書.

在笛卡爾給克里斯汀寄出第十三封信后,他永遠地離開了這個世界。此時,被軟禁在宮中的小公主依然徘徊在皇宮的走廊里,思念著遠方的情人。

這***一封信上沒有寫一句話,只有一個方程:r=a(1-sinθ)。

國王以為這個方程里隱藏著兩個人的秘密,便把全城的數學家召集到皇宮,但是沒有人能解開這個函數式。他不忍看著心愛的女兒每天悶悶不樂,便把這封信給了她。拿到信的克里斯汀欣喜若狂,她立即明白了戀人的意圖,找來紙和筆,把圖形畫了出來,一顆心形圖案出現在眼前,克里斯汀淚流滿面,這條曲線就是著名的“心形線”。

國王去世后,克里斯汀繼承王位,便立刻派人去法國尋找心上人的下落,收到的卻是笛卡爾去世的消息,留下了一個永遠的遺憾……   這封享譽世界的另類情書,據說至今還保存在歐洲笛卡爾的紀念館里。

這個故事的出處無從知道,網絡上流傳著各種各樣的版本,甚至在百度百科也有著這個故事。后來,有人考證了真實性,認為這是一個美麗的謊言,但并不妨礙人們對愛心線喜愛。

在直角坐標系中,愛心線的方程的python 表達為:x** 2+ y** 2 + a * x= a * sqrt(x** 2+y** 2) 和 x** 2+ y** 2 - a * x= a * sqrt(x** 2+y** 2)通過x 來求對應的y值很麻煩,就像軟件設計中的“***層”那樣,可以采用參數方程來表示:

  1. x=a*(2*cos(t)-cos(2*t)) 
  2. y=a*(2*sin(t)-sin(2*t)) 

具體的python代碼如下:

  1. import numpy as np 
  2. import matplotlib.pyplot as plt 
  3. a = 1 
  4. t = np.linspace(0 , 2 * np.pi, 1024) 
  5. X = a*(2*np.cos(t)-np.cos(2*t)) 
  6. Y = a*(2*np.sin(t)-np.sin(2*t)) 
  7. plt.plot(Y, X,color='r'
  8. plt.show() 

代表愛心的心形線來了:

但這不是六行代碼呀?也不是r=a(1-sinθ)呀? 的確如此,那是極坐標系,python 的matplotlib同樣支持極坐標系的,愛心線的六行pyton代碼如下:

  1. import numpy as np 
  2. import matplotlib.pyplot as plt 
  3. T = np.linspace(0 , 2 * np.pi, 1024) 
  4. plt.axes(polar = True
  5. plt.plot(T, 1. - np.sin(T),color="r"
  6. plt.show() 

這樣,得到的就是封面中的圖像了:

心形線確實是愛心滿滿,如果融入了憂傷會是怎樣呢?

  1. import numpy as np 
  2. import matplotlib.pyplot as plt 
  3.  
  4. x = np.linspace(-8 , 8, 1024) 
  5. y1 = 0.618*np.abs(x) - 0.8* np.sqrt(64-x**2) 
  6. y2 = 0.618*np.abs(x) + 0.8* np.sqrt(64-x**2)  
  7. plt.plot(x, y1, color = 'r'
  8. plt.plot(x, y2, color = 'r'
  9. plt.show() 

這樣就得到了另一個愛心線:

網絡上還有關于愛心線的各種漂亮實現,也充滿了各種各樣的情緒,但對于每一種,基本上都可以用python 相對簡潔的實現。

實際上,繪圖很簡單,難的是那些曲線方程的表達以及實際的應用場景需求,比如螺旋線。

進一步,還可以畫出各種的3維視圖,例如:

作為數據分析乃至大數據處理的***一個環節,就是所謂洞見的可視化,python 可以說是其中的一個簡單實用的工具。

【本文來自51CTO專欄作者“老曹”的原創文章,作者微信公眾號:喔家ArchiSelf,id:wrieless-com】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2020-02-14 12:26:55

Python愛心情人節

2017-03-06 15:01:38

Python代碼詞云

2016-12-02 08:53:18

Python一行代碼

2021-11-02 16:25:41

Python代碼技巧

2020-08-14 09:59:31

Python開發工具

2018-10-07 05:27:03

Python代碼機器學習

2020-08-12 14:54:00

Python代碼開發

2018-01-23 09:17:22

Python人臉識別

2022-03-26 22:28:06

加密通信Python

2022-04-09 09:11:33

Python

2020-08-19 10:30:25

代碼Python多線程

2017-10-17 13:30:32

Python人臉識別

2015-08-10 11:09:09

Python代碼Python

2017-12-25 16:20:40

Python自動化王者榮耀

2017-04-13 19:20:18

Python代碼并行任務

2022-02-23 14:37:48

代碼Pythonbug

2021-03-08 15:04:48

編程Python代碼

2021-01-25 09:36:00

Python代碼文件

2020-09-26 21:44:57

If-Else代碼開發

2017-04-05 11:10:23

Javascript代碼前端
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄网站免费观看 | 麻豆av电影网| 一级免费毛片 | 欧美精品二区 | 国产精品免费在线 | 午夜av成人| 精品国产一区久久 | 91在线视频在线观看 | 国产精品一区二区无线 | 一级在线毛片 | 国产资源网 | 久久精品这里精品 | 亚洲人成在线观看 | 国产成人免费 | 欧美jizzhd精品欧美巨大免费 | 欧美成人影院在线 | 精品免费在线 | 国产一级片免费在线观看 | 国产精品自拍视频网站 | 精区3d动漫一品二品精区 | 国产乱码精品1区2区3区 | 一区在线免费视频 | 51ⅴ精品国产91久久久久久 | 欧美日韩国产一区 | 女女百合av大片一区二区三区九县 | 奇米久久 | 欧美激情欧美激情在线五月 | 久久久久久久国产 | 亚洲国产精品99久久久久久久久 | 久久久久国色av免费观看性色 | 草久视频 | 91精品国产一区二区三区 | 国产在线高清 | 最新av片| 国产精品美女在线观看 | 欧美日韩三级 | 激情三区 | 国内精品久久久久 | 国产高清久久 | 欧美一级毛片免费观看 | 久久国产精品无码网站 |