User:Alex G. Benedict/Notebook/Physics 307L: Junior Lab/SimpleSearchScript: Difference between revisions
(New page: The following script takes 3 column vectors, and finds the values of Rcoeff, and Voltcoeff which minimize the average relative error. The data for the three vectors can be downloaded here...) |
No edit summary |
||
Line 3: | Line 3: | ||
The data for the three vectors can be downloaded here [Image:EM_DATA.mat]. | The data for the three vectors can be downloaded here [Image:EM_DATA.mat]. | ||
The suffixes NG, KH, AGB refer to Nathan Gianni, Kristen Harriger, and Alex Benedict, whose data I used in finding a good value of the voltage coefficient and radius coefficient. | |||
Line 8: | Line 9: | ||
Voltcoeff=0:0.05:1; | Voltcoeff=0:0.05:1; | ||
Rcoeff=0:0.05:50; | Rcoeff=0:0.05:50; | ||
Line 21: | Line 23: | ||
aveNG=mean(emmodeled(:,:,1:18),3); | aveNG=mean(emmodeled(:,:,1:18),3); | ||
aveKH=mean(emmodeled(:,:,19:39),3); | aveKH=mean(emmodeled(:,:,19:39),3); | ||
aveAGB=mean(emmodeled(:,:,39:end),3); | aveAGB=mean(emmodeled(:,:,39:end),3); | ||
ave=mean(emmodeled(:,:,:),3); | ave=mean(emmodeled(:,:,:),3); | ||
errorNG=Actualem-aveNG; | errorNG=Actualem-aveNG; | ||
errorKH=Actualem-aveKH; | errorKH=Actualem-aveKH; | ||
errorAGB=Actualem-aveAGB; | errorAGB=Actualem-aveAGB; | ||
error=Actualem-ave; | error=Actualem-ave; | ||
relerrNG=abs(errorNG)/Actualem; | relerrNG=abs(errorNG)/Actualem; | ||
relerrKH=abs(errorKH)/Actualem; | relerrKH=abs(errorKH)/Actualem; | ||
relerrAGB=abs(errorAGB)/Actualem; | relerrAGB=abs(errorAGB)/Actualem; | ||
relerr=abs(error)/Actualem; | relerr=abs(error)/Actualem; | ||
[CNG,ING]=min(relerrNG(:)); | [CNG,ING]=min(relerrNG(:)); | ||
[CKH,IKH]=min(relerrKH(:)); | [CKH,IKH]=min(relerrKH(:)); | ||
[CAB,IAB]=min(relerrAGB(:)); | [CAB,IAB]=min(relerrAGB(:)); | ||
[C,I]=min(relerr(:)); | [C,I]=min(relerr(:)); | ||
[ing,jng]=ind2sub(size(relerrNG),ING); | [ing,jng]=ind2sub(size(relerrNG),ING); | ||
[ikh,jkh]=ind2sub(size(relerrNG),IKH); | [ikh,jkh]=ind2sub(size(relerrNG),IKH); | ||
[iagb,jagb]=ind2sub(size(relerrNG),IAB); | [iagb,jagb]=ind2sub(size(relerrNG),IAB); | ||
[i,j]=ind2sub(size(relerr),I); | [i,j]=ind2sub(size(relerr),I); | ||
[Rcoeff(ing),Voltcoeff(jng)] | [Rcoeff(ing),Voltcoeff(jng)] | ||
[Rcoeff(ikh),Voltcoeff(jkh)] | [Rcoeff(ikh),Voltcoeff(jkh)] | ||
[Rcoeff(iagb),Voltcoeff(jagb)] | [Rcoeff(iagb),Voltcoeff(jagb)] | ||
[Rcoeff(i),Voltcoeff(j)] | [Rcoeff(i),Voltcoeff(j)] |
Latest revision as of 00:44, 13 December 2010
The following script takes 3 column vectors, and finds the values of Rcoeff, and Voltcoeff which minimize the average relative error.
The data for the three vectors can be downloaded here [Image:EM_DATA.mat].
The suffixes NG, KH, AGB refer to Nathan Gianni, Kristen Harriger, and Alex Benedict, whose data I used in finding a good value of the voltage coefficient and radius coefficient.
Actualem=175882017000;
Voltcoeff=0:0.05:1;
Rcoeff=0:0.05:50;
for i=1:length(Rcoeff)
for j=1:length(Voltcoeff) for k=1:length(R) top=2*(Voltcoeff(j)*V(k)-Rcoeff(i)*R(k)); bottom=(B(k)^2*R(k)^2); emmodeled(i,j,k)=top/bottom; end end
end
aveNG=mean(emmodeled(:,:,1:18),3);
aveKH=mean(emmodeled(:,:,19:39),3);
aveAGB=mean(emmodeled(:,:,39:end),3);
ave=mean(emmodeled(:,:,:),3);
errorNG=Actualem-aveNG;
errorKH=Actualem-aveKH;
errorAGB=Actualem-aveAGB;
error=Actualem-ave;
relerrNG=abs(errorNG)/Actualem;
relerrKH=abs(errorKH)/Actualem;
relerrAGB=abs(errorAGB)/Actualem;
relerr=abs(error)/Actualem;
[CNG,ING]=min(relerrNG(:));
[CKH,IKH]=min(relerrKH(:));
[CAB,IAB]=min(relerrAGB(:));
[C,I]=min(relerr(:));
[ing,jng]=ind2sub(size(relerrNG),ING);
[ikh,jkh]=ind2sub(size(relerrNG),IKH);
[iagb,jagb]=ind2sub(size(relerrNG),IAB);
[i,j]=ind2sub(size(relerr),I);
[Rcoeff(ing),Voltcoeff(jng)]
[Rcoeff(ikh),Voltcoeff(jkh)]
[Rcoeff(iagb),Voltcoeff(jagb)]
[Rcoeff(i),Voltcoeff(j)]