重庆邮电大学 大学物理实验 杨氏模量计算 c++实现

网上居然找不到有人做。自己写了一个。我不保证写的是对的,因为我实验报告还没交。

以下是源代码,写得很烂:

#include <iostream>
#include <cmath>
using namespace std;
#define Pi 3.14
double a[10],b[10],c[10],d[5];
double E;
double L,H,D;
double d_si0,d_si=0,d_ping;

double uncertainty(int len,double A[]){
	double sum=0;
	for(int i=0;i<len;i++){
		sum+=A[i];
	}
	sum/=len;
	double Sn=0;
	for(int i=0;i<len;i++){
		Sn+=((A[i]-sum)*(A[i]-sum));
	}
	return sqrt(Sn/(len*(len-1)));
}

int main(){
	cout<<"请依次输入L、H、D(单位mm),以空格间隔:"<<endl;
	cin>>L>>H>>D;
	cout<<"请输入d0(单位mm):";
	cin>>d_si0;
	double d_s[6];
	cout<<"请输入测量的六组金属丝直径视值d(单位mm),以空格间隔:"<<endl;
	for(int i=0;i<6;i++){
		float temp;
		cin>>temp;
		d_s[i]=temp;
		d_si+=(temp-d_si0);
	}
	d_ping=d_si/6;
	cout<<"接下来,请成对输入相同力下的x值。单位mm,以空格间隔。"<<endl;
	for(int i=0;i<10;i++){
		cout<<"请输入第"<<i+1<<"组数据:";
		if (scanf("%lf%lf", &a[i], &b[i]) != 2) {
			cout << "Error: invalid input" << endl;
			return 1;
		}
		c[i]=(a[i]+b[i])/2;
	}
	for(int i=0;i<5;i++){
		d[i]=c[i+5]-c[i];
	}
	double E0[5];
	for(int i=0;i<5;i++){
		E=((8*5*9.8*(L*0.001)*(H*0.001))/(Pi*(d_ping*0.001)*(d_ping*0.001)*(D*0.001)))/(d[i]*0.001);
		E0[i]=E;
		cout<<"E"<<i+1<<"="<<E<<endl;
	}
	cout<<"d的不确定度:"<<uncertainty(6,d_s)<<endl;
	cout<<"Δx的不确定度为:"<<uncertainty(5,d)<<endl;
	cout<<"杨氏模量的不确定度为:"<<uncertainty(5,E0)<<endl;
	getchar();
	getchar();
	return 0;
}

如图:

怎么用就不需要我说了吧。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值