gpt4 book ai didi

C++:洛伦兹因子方程

转载 作者:太空宇宙 更新时间:2023-11-03 10:41:50 25 4
gpt4 key购买 nike

我是 C++ 的新手。我上了一门 Python 类(class),但更愿意继续学习一种更有用的语言。但我正在用 C++ 重做该类(class)中的几项作业,以帮助我继续前进。

这个特殊问题是编写代码来求解洛伦兹因子,输入光速的一小部分 (velocity/c) 应该在 0 和 1 之间。我相信有一个非常简单的事情我做错了;我可能不熟悉来自 Python 的东西。但帮助将不胜感激。我不断得到答案“nan”。它与我的类型声明有关吗?据我了解,由于我使用的是小数,所以我应该使用 float 吗?

这是洛伦兹方程(但请记住,我的代码接受 v/c 作为一个数字):

http://spiff.rit.edu/classes/phys200/lectures/ke_rel/eqn_gamma.gif

#include <iostream>
#include <math.h>


using namespace std;

float lorentz_factor (float v) {
float answer = 1 / sqrt(1 - exp(v));
return answer;
}

int main() {

float v;

cout<<"Please enter a number between 0 and 1";
cin>> v;
while (!((v < 1) && (v > 0))) { // "v" should be entered as a fraction of the speed of light.
cout<<"Try again: ";
cin>>v; // and only accepted if it is between 0 and 1
}
float factor = v;
cin.ignore();
cout<<"The lorentz_factor is: "<< lorentz_factor (factor) << "\n";
cin.get();
}

帮我解决这个问题。

最佳答案

你有:

1 / sqrt(1 - exp(v))

但洛伦兹因子是:

1 / sqrt(1 - v*v)

关于C++:洛伦兹因子方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34349466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com