User:Alex G. Benedict/Notebook/Physics 307L: Junior Lab/SimpleSearchScript: Difference between revisions

From OpenWetWare
Jump to navigationJump to search
(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)]