计算质量对加速度的阻力

Calculating a mass resistance to acceleration

我不确定这是否是回答这个问题的正确位置,但我需要计算一个大振幅摆的速度,使用我当前的代码它会产生一个正弦曲线图。

问题是如果我增加质量,摆的周期会变小,这在真实的摆中不应该发生,因为周期与质量无关;加速度随着质量的增加而增加,但加速度的阻力也会增加,我不知道如何编码。

我曾尝试研究 angular 动量,但我的物理知识非常有限。我有这个:

long double timeFrame = 0.01;
    if(getNewAngle==true)
{
    //Convert to radians.
    myAngle = Angle*M_PI/180;
    getNewAngle = false;
    //Velocity starts at 0.
    myVelocity = 0;
}
//Setup starting variables.
long double dLength = std::stod(Length,0);
long double dGravity = std::stod(Gravity,0);
long double dMass = std::stod(Mass,0);
long double dPeriod = std::stod(Period,0);

//Large amplitude pendulum acceleration formula
long double dAcceleration = -dMass*dGravity/dLength*sin(myAngle);
//Angular displacement formula;
long double dDisplacement = myVelocity*timeFrame+0.5*dAcceleration*pow(timeFrame,2);
myVelocity = dDisplacement/timeFrame;
myAngle = myAngle + dDisplacement;

这个:

//Large amplitude pendulum acceleration formula
long double dAcceleration = -dMass*dGravity/dLength*sin(myAngle);

不正确。应该是这样的:

//Large amplitude pendulum acceleration formula
long double dAcceleration = -dGravity/dLength*sin(myAngle);

没错,质量不进去(除非你开始考虑空气阻力)。