python简易程序集合_使用python写的调内参的简易程序

根据灰度值来推测调齐内参所需要的蛋白质浓度(以最简单的最小二乘法来计算):一开始上样的时候最好等体积上样(蛋白溶度调成一致)。确保每个样的上样体积一致。多做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(','):

c.append(float(i))

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

d.append(float(i))

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(','):

c.append(float(i))

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

d.append(float(i))

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)

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值