大学物理实验-牛顿环数据

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Button button1=new Button("获取相关数据");
Button button2=new Button("清空");
TextField text[]=new TextField[10];
TextArea texta=new TextArea("",10,85);
int i;
double m[]=new double[5];
package frame;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
// TODO Auto-generated method stub
}
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
dispose();
System.exit(0);
}
public void windowDeactivated(WindowEvent e) {
double m2[]=new double[5];
double n[]=new double[5];
double n2[]=new double[5];
double mn[]=new double[5];
double ave=0;
double a,b,Ub,Urb,r2,r1;
//计算回归系数b,返回;
// TODO Auto-generated method stub
}
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowIconified(WindowEvent e) {
public class Frame_niudunhuan {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
myframe my=new myframe();
}
}
// TODO Auto-generated method stub
}
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
}
gbc.anchor=GridBagConstraints.WEST;
gbl.setConstraints(labl3, gbc);
add(labl3);
gbc.gridx=1;gbc.gridy=5;
gbc.gridwidth=GridBagConstraints.REMAINDER;
gbc.anchor=GridBagConstraints.WEST;
}
for(i=0;i<5;i++){
mn[i]=m2[i]-n2[i];
}
for(i=0;i<5;i++){
ave+=mn[i];
}
ave/=5;
b=b(ave);
a=a(ave,b);
Ub=Ub(m2,n2,a,b);
Urb=Urb(Ub,b);
r1=R1(Ub,b);
r2=R2(Ub,b);
texta.append("环数26-30的直径平方:");
double a=1;
return (b-Ub)/(4*a);
}
myframe(){
super("大学物理实验之牛顿环计算");
Color red=new Color(123,223,243);
setBounds(250, 150,800,500);
setBackground(red);
GridBagLayout gbl=new GridBagLayout();
double m3=0;
double n3=0;
int i;
for(i=0;i<5;i++){
m3+=(m2[i]-(a+b*(i+26)));
n3+=(n2[i]-(a+b*(i+6)));
}
return Math.sqrt(5*(m3+n3))/200;
}
//计算相对不确定度Ur,b(),返回;
GridBagConstraints gbc=new GridBagConstraints();
setLayout(gbl);
gbc.gridx=1;gbc.gridy=1;
gbc.anchor=GridBagConstraints.WEST;
gbl.setConstraints(labl1, gbc);
static double b(double ave){
return ave/20;
}
//计算回归系数a,返回;
static double a(double ave,double b){
return (ave/2-b*(36)/2);
}
//计算不确定度Ub,返回该值大小;
static double Ub(double m2[],double n2[],double a,double b){
static double Urb(double Ub,double b){
return Ub/b;
}
//计算凸透镜的半径,返回;
static double R2(double Ub,double b){
double a=1;
return (b+Ub)/(4*a);
}
static double R1(double Ub,double b){
gbc.gridx=6;gbc.gridy=3;
gbc.anchor=GridBagConstraints.CENTER;
gbl.setConstraints(button2, gbc);
add(button2);
button2.Biblioteka BaiduddActionListener(this);
gbc.gridx=1;gbc.gridy=4;
class myframe extends Frame implements ActionListener,WindowListener{
Label labl1=new Label("条纹数是30-26的直径:");
Label labl2=new Label("条纹数是10-6的直径:");
Label labl3=new Label("相关数据如下:");
add(labl1);
for(i=0;i<10;i++){
text[i]=new TextField("",10);
}
for(i=0;i<5;i++){
gbc.gridx=i+2;
gbc.insets=new Insets(2,5,1,5);
gbl.setConstraints(text[i], gbc);
for(i=0;i<5;i++){
texta.append(" "+m2[i]);
}
texta.append("\n环数6-10的直径平方:");
for(i=0;i<5;i++){
texta.append(" "+n2[i]);
}
texta.append("\n直径的平方差分别是:");
for(i=0;i<5;i++){
texta.append("\n凸透镜的半径:"+r1+" +- "+r2+"\n");
repaint();
ave=0;
}
}
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowClosed(WindowEvent e) {
gbl.setConstraints(texta, gbc);
add(texta);
addWindowListener(this);
//pack();
show();
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
for(i=0;i<5;i++){
if(text[i+5].getText()!="")
n[i]=Double.parseDouble(text[i+5].getText());
}
for(i=0;i<5;i++){
m2[i]=Math.pow(m[i],2);
n2[i]=Math.pow(n[i],2);
if(e.getSource()==button2){
for(i=0;i<10;i++){
text[i].setText("");
}
}
else{
for(i=0;i<5;i++){
if(text[i].getText()!="")
m[i]=Double.parseDouble(text[i].getText());
add(text[i+5]);
}
text[9].addActionListener(this);
gbc.gridx=5;gbc.gridy=3;
gbl.setConstraints(button1, gbc);
add(button1);
button1.addActionListener(this);
add(text[i]);
}
gbc.gridx=1;gbc.gridy=2;
gbc.anchor=GridBagConstraints.WEST;
gbl.setConstraints(labl2, gbc);
add(labl2);
for(i=0;i<5;i++){
gbc.gridx=i+2;
gbl.setConstraints(text[i+5], gbc);
texta.append(" "+mn[i]);
}
texta.append("\n直径平方差的平均值是:"+ave);
texta.append("\n回归系数a:"+a);
texta.append("\n回归系数b:"+b);
texta.append("\n不确定度Ub:"+Ub);
texta.append("\n相对不确定度Urb:"+Urb);
相关文档
最新文档