Documentos de Académico
Documentos de Profesional
Documentos de Cultura
model(x,p)=p[1]x+p[2]
#ajuste de la recta en la primera zona
x1=zeros(N1)
y1=zeros(N1)
for i in 1:N1
x1[i]=V[i]
y1[i]=I[i]
end
fit1=curve_fit(model,x1,y1,[0.5,0.5])
p1=fit1.param
#ajuste de la segunda recta
x2=zeros(N2)
y2=zeros(N2)
for i in 1:N2
x2[i]=V[parejas-N2+i]
y2[i]=I[parejas-N2+i]
end
fit2=curve_fit(model,x2,y2,[0.5,0.5])
p2=fit2.param
errors1 = estimate_errors(fit1, 0.15)
errors2=estimate_errors(fit2,0.15)
#arreglos para lagrafica de las rectas
n=1000
x1=zeros(n)
x2=zeros(n)
y1=zeros(n)
y2=zeros(n)
x1=linspace(0,11,n)
x2=linspace(V[parejas-N2]-0.3,12.4,n)
[y1[i]=model(x1[i],p1) for i in 1:n]
[y2[i]=model(x2[i],p2) for i in 1:n]
plot(x1,y1,"r")
plot(x2,y2,"g")
#savefig("grafica1sinanalisis.jpg")
println(p1),println(p2),println(errors1),println(errors2)
#calculo de la interseccion de las rectas:
Vion=(p2[2]-p1[2])/(p1[1]-p2[1])
Iion=model(Vion,p1)
println("EL POTENCIAL DE IONIZACI
ON ES ",Vion)
println(log(Vion))
#incertidumbre en el potencial
a=-(p2[2]-p1[2])/((p1[1]-p2[1])^2)
b=-1/(p1[1]-p2[1])
c=(p2[2]-p1[2])/((p1[1]-p2[1])^2)
d=-b
suma=a^2*(errors1[1]^2)+b^2*(errors1[2]^2)+c^2*(errors2[1]^2)+b^2*(errors2[2]^2)
dVp=sqrt(suma)
println("La incertidumbre de potencial es ",dVp)
return p1,p2, errors1, errors2, Vion,Iion,dVp
end ;
In [388]: p1,p2,E1,E2,Vion,Iion,dVp=ajustelineal(mat10,15,10);
[0.8259999999773859,-0.25066666654345376]
[64.79412628375566,-716.3105139368283]
[-0.017419637439040278,-0.09487974037010044]
[-5.486325711914847,-64.91902240980426]
EL POTENCIAL DE IONIZACI
ON ES 11.1940100307717
2.415378816553428
La incertidumbre de potencial es 1.3970326996014575
#ylabel(L"ln(I)")
savefig("ajuste1.jpg")
model(x,p)=p[1]x+p[2]
#ajuste de la recta en la primera zona
x1=zeros(N1)
y1=zeros(N1)
for i in 1:N1
x1[i]=V[i]
y1[i]=I[i]
end
fit1=curve_fit(model,x1,y1,[0.5,0.5])
p1=fit1.param
#ajuste de la segunda recta
x2=zeros(N2)
y2=zeros(N2)
for i in 1:N2
x2[i]=V[parejas-N2+i]
y2[i]=I[parejas-N2+i]
end
fit2=curve_fit(model,x2,y2,[0.5,0.5])
p2=fit2.param
errors1 = estimate_errors(fit1)
errors2=estimate_errors(fit2)
#arreglos para lagrafica de las rectas
n=100
x1=zeros(n)
x2=zeros(n)
y1=zeros(n)
y2=zeros(n)
x1=linspace(1,2.5,n)
x2=linspace(2.4,2.6,n)
[y1[i]=model(x1[i],p1) for i in 1:n]
[y2[i]=model(x2[i],p2) for i in 1:n]
plot(x1,y1,"r")#,label=L"ln(I)=(1.011 \pm 0.020 )lnV +(-0.291 \pm 0.028)")
plot(x2,y2,"g")#,label=L"ln(I)=(16.333 \pm 0.443)lnV+(-36.328 \pm 1.091 )")
#plot(x1,y1,"r",label=L"log(I)=(1.6581 \pm 0.2438)V +(4.6156 \pm 1.1108)")
#plot(x2,y2,"g",label=L"log(I)=(0.0274 \pm 0.0047)V-(0.3638 \pm 0.0254)")
#title(L"Ajuste \ para \ encontrar \ V_i ")
#legend(loc="best",fancybox="true",fontsize="medium")
xlabel(L"ln(V)",size=20)
ylabel(L"ln(I)",size=20)
println(p1),println(p2),println(errors1),println(errors2)
savefig("ajuste10corrida.jpg")
#calculo de la interseccion de las rectas:
Vion=(p2[2]-p1[2])/(p1[1]-p2[1])
Iion=model(Vion,p1)
println(Vion)
println("El potencial de ionizaci
on es ",exp(Vion))
#incertidumbre en el potencial
a=-(p2[2]-p1[2])/((p1[1]-p2[1])^2)
b=-1/(p1[1]-p2[1])
c=(p2[2]-p1[2])/((p1[1]-p2[1])^2)
d=-b
suma=a^2*(errors1[1]^2)+b^2*(errors1[2]^2)+c^2*(errors2[1]^2)+b^2*(errors2[2]^2)
dVp=sqrt(suma)
println("La incertidumbre de potencial es ",exp(dVp))
return p1,p2, errors1, errors2, Vion,Iion,dVp
end
Out[370]: rectificada (generic function with 1 method)
In [372]: p1,p2,E1,E2,Vion,Iion,dVp=rectificada(mat10,17,12)
[1.4359412617403033,-1.293743189731878]
[16.558684527153197,-38.706620831898476]
[0.04568587660418561,0.08580136260700405]
[0.9377438504259308,2.4038858759083945]
2.4739478139348763
El potencial de ionizaci
on es 11.869211921231278
La incertidumbre de potencial es 1.2474599765242935
Out[372]: ([1.43594,-1.29374],[16.5587,-38.7066],[0.0456859,0.0858014],[0.937744,2.40389],2.473947813934
In [383]: function child{T<:Number}(mat::Array{T,2},N1::Int64)
parejas=size(mat)[1]
V=zeros(parejas)
I=zeros(parejas)
5
for i in 1:parejas
V[i]=mat[i,1]+1.25
I[i]=mat[i,3]
#V[i]=mat[i,2]
#I[i]=mat[i,3]
end
plot(V,I,"b.")
xlabel(L"V ")
ylabel(L"I")
model(x,p)=p[1]*x^(3/2)+p[2]#^(3/2)
#ajuste de la recta en la primera zona
x1=zeros(N1)
y1=zeros(N1)
for i in 1:N1
x1[i]=V[i]
y1[i]=I[i]
end
fit1=curve_fit(model,x1,y1,[1.3,0.0])
p1=fit1.param
errors1=estimate_errors(fit1,0.12)
n=100
x1=zeros(n)
x1=linspace(0,12,n)
y1=zeros(n)
[y1[i]=0.27*x1[i]^(3/2) for i in 1:n]
plot(x1,y1,"r")
grid("on")
savefig("matlab.jpg")
# x5=linspace(0,12.3,1000)
#y6=zeros(1000)
#y7=zeros(1000)
#for i in 1:1000
#
y6[i]=exp(-36)*x5[i]^(16.27)+6
#
y7[i]=exp(x[i]^1.03)
#end
#plot(x5,y6,"k")
return p1, errors1
end
Out[383]: child (generic function with 1 method)
In [384]: child(mat10,10)
Out[384]: ([1.3,0.0],[-3.21331e-80,-0.0])