如何将这个公式输入到我的c++程序中
How can i input this formula into my c++ program?
风寒=35.74+0.6215T-35.75(V^0.16)+0.4275T(V^.16)
我需要正确的方法将上面的公式输入到我的程序中。我现在有以下,它给了我一个疯狂的数字:
WindChill = ((35.74 + (0.6215 * temperature))
- (35.75 * pow(windSpeed, 0.16))
+ (0.4275 * temperature * pow(windSpeed, 0.16)));
我是一名初级程序员,C++是我学习的第一门语言,所以我非常感谢任何帮助。非常感谢。
您可以通过删除括号来简化。
double wind_chill = 35.74 + 0.6215 * T - 35.75 * pow(V, 0.16) + 0.4275 * T * pow(V, 0.16);
但在这种情况下,你要计算两次幂。更好的方法是:
double pow_v = pow(V, 0.16);
double wind_chill = 35.74 + 0.6215 * T - 35.75 * pow_v + 0.4275 * T * pow_v;
试试这个。如果你使用自己的幂函数,那么你可以把它存储在一些变量中,而不是一次又一次地调用这个方法。这将有利于效率和可读性。
double windPower = pow(windspeed, 0.16);
WindChill = (35.74 + (0.6215 * temp) - (35.75 * windPower ) + (0.4275 * temp * windPower ))
你的幂函数(如果你想定义它的话)是这样的:-
int pow(int x, unsigned int y)
{
if( y == 0)
return 1;
else if (y%2 == 0)
return power(x, y/2)*power(x, y/2);
else
return x*power(x, y/2)*power(x, y/2);
}
这是针对整数的(因为我能够快速测试它)。
如果你用同样的数据手工计算,它会给你同样的疯狂数字,还是正确的答案?如果你得到了同样的疯狂数字,也许你需要将一些数字转换为正确的单位,例如温度可能应该以开尔文为单位,而不是摄氏度或法亨海特。
(这应该是一个评论,但我还没有足够的代表…)
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 我的字符计数代码计算错误.为什么
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- cmake在我的项目中所需的所有静态库都不成功
- 为什么我的代码在输出中增加了93天
- 我的简单if-else语句是如何无法访问的代码
- 为什么我的for循环不能正确获取argv
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 0-1背包代码中的错误.我的代码中有什么错误
- 当我的阵列太大时出现分段错误
- 如何确认我的constexpr表达式实际上已经在编译时执行
- 为什么二进制搜索在我的测试中不起作用
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- OpenGL在启用深度测试时不会丢弃我的碎片
- 为什么我的 std::ref 无法按预期工作?
- clang整洁10忽略了我的NOLINT命令
- 为什么我的删除节点函数实际上没有删除节点?