使用python寫的調內參的簡易程式

2021-07-26 05:32:09 字數 2225 閱讀 1259

根據灰度值來推測調齊內參所需要的蛋白質濃度(以最簡單的最小二乘法來計算):一開始上樣的時候最好等體積上樣(蛋白溶度調成一致)。確保每個樣的上樣體積一致。多做2個重複取平均值。然後採用灰度分析進行內參調整,從而調整之後的上樣量。

自變數與因變數的一系列對應資料,(x1,y1),(x2,y2),(x3,y3),...(xn,yn),分別是已經做好的實驗的蛋白質濃度和相對應的灰度值。input,以陣列來儲存這些資料,然後的output就是根據最小二乘法得出的調內參的最適濃度。

假設存在和實際資料最擬合的函式,y=f(x),使得實際資料和理論曲線的離差平方和:∑[yi-f(xi)]^2(從i=1到i=n相加)為最小,一般我們假設是線性關係,以線性回歸方程表示如y= a0 + a1 x ;∑(x--x平)(y--y平)=∑xy--nx平y平;∑(x --x平)^2=∑x^2--nx平^2;

當∑[yi-f(xi)]^2(從i=1到i=n相加)最小時,可用函式 φ 對a0、a1求偏導數,令這兩個偏導數等於零。得到的兩個關於a0、 a1為未知數的兩個方程組,解這兩個方程組得出:a0 = (∑yi) / m - a1(∑xi) / m ;a1 = [∑xi yi - (∑xi ∑yi)/ m] / [∑xi2 - (∑xi)2 / m)]

得到不同孔道對應的不同線性關係,然後我們可以選定乙個我們需要的灰度值y,反過來求解每個孔特定蛋白質的濃度xi。

我目前只是弄出來最簡易的,完全是面向過程的簡易程式,需要乙個個資料自己敲進去,然後再計算處理理論上想要調齊內參的蛋白質加樣濃度;進一步的可以將資料記錄在txt或者excel檔案中,然後讀取出來再進行計算,

還是有很大的進步空間嘛!

a=input("請輸入該孔道的三次蛋白質加樣量,以逗號隔開:")  

b=input("請輸入該孔道的三次灰度值,以逗號隔開:")

aim=int(input("目標內參的灰度值="))

c=

d=

for i in a.split(','):

for i in b.split(','):

l=0.0

m=0.0

n=0.0

p=0.0

e=0.0

f=0.0

for i in c:

l=l+i #x的加和σx:l

for i in d:

m=m+i #y的加和σy:m

for i in c:

n=n+l*l #x平方的加和σx^2:n

p=p+l*m #x*y的加和σxy:p

e=(p-l*m/3.0/(n-l*l/3.0) #最小二乘法公式:a=(σxy-σxσy/n)/(σx^2-(σx)^2/n),a是斜率

f=m/3.0-e*l/3.0 #b=y(平均)-a*x(平均);b是截距

aimcon=(aim-f)/e

print(e,f)

print("線性回歸方程是:y=",e,"x+",f)

print(aimcon)

改進版
b=input("請輸入該孔道的三次灰度值,以逗號隔開:")  

aim=int(input("目標內參的灰度值="))

c=

d=

for i in a.split(','):

for i in b.split(','):

l=0.0

m=0.0

n=0.0

p=0.0

e=0.0

f=0.0

for i in c:

l=l+i #x的加和:l

n=sum([ i*i for i in c])#x平方的加和:n

for i in d:

m=m+i #y的加和:m

p=sum([c[i]*d[i] for i in range(0,3)])#x*y的加和:p

e=(p-l*m/3)/(n-l*l/3) #最小二乘法公式:a=(σxy-σxσy/n)/(σx^2-(σx)^2/n),a是斜率

f=m/3.0-e*l/3.0 #b=y(平均)-a*x(平均);b是截距

aimcon=(aim-f)/e

print(l,m,n,p,e,f)#用於測試各個量是否正確

print("線性回歸方程是:y=",e,"x+",f)

print("理論上的加樣量=",aimcon)

python的簡單使用 python模組簡單使用

建立你自己的模組是十分簡單的,你一直在這樣做!每個python程式也是乙個模組。你已經確保它具有.py副檔名了。下面這個例子將會使它更加清晰。建立你自己的模組 例8.3 如何建立你自己的模組 usr bin python filename mymodule.py defsayhi print hi,...

python爬蟲框架feapde的使用簡介

大家好,我是安果!眾所周知,python 最流行的爬蟲框架是 scrapy,它主要用於爬取 結構性資料 今天推薦一款更加簡單 輕量級,且功能強大的爬蟲框架 feapder 專案位址 和 scrapy 類似,feapder 支援輕量級爬蟲 分布式爬蟲 批次爬蟲 爬蟲報警機制等功能 內建的 3 種爬蟲如...

使用C寫Python的模組

概述 引入 python.h 標頭檔案 編寫包裝函式 處理從 python 傳入的引數 實現邏輯功能 處理 c 中的返回值 註冊函式 註冊模組 編譯原文發於2010年11月。python 可以非常方便地和 c 進行相互的呼叫。一般,我們不會使用 c 去直接編寫乙個 python 的模組。通常的情景是...