有问题,这个公式的输出:C语言结构式
typedef struct
{
float t, Vx, Vy, Px, Py;
} datapoint;
datapoint *data;
data = malloc(steps * sizeof(datapoint));
data[0].Vx = (20*cos(30)); //30 is changed to radians
data[0].Vy = (20*sin(30));
data[0].Px = 0;
data[0].Py = 0;
steps=100;
i=1;
do
{
printf("Time: %.2f\t",i*q5);
// X
data[i].Vx = data[i-1].Vx ;//- CalculateDrag(data[i-1].Vx, q4);
data[i].Px = ((data[i-1].Px) + ((data[i].Vx) * i));
printf("X = %.2f\t",data[i].Px);
// Y
data[i].Vy= data[i-1].Vy - (9.81)*i; //- CalculateDrag(data[i-1].Vy,q4);
data[i].Py= data[i-1].Py + (data[i].Vy * i);
printf("Y = %.2f\t", data[i].Py);
printf("\n");
i++;
} while(((data[i].Py) >0) && (i<=steps));
输出应该是这样的:
Time 0.10s: X = 1.73m Y = 1.00m
Time 0.20s: X = 3.46m Y = 1.90m
Time 0.30s: X = 5.20m Y = 2.71m
....
....
Time 2.00s: X = 34.64m Y = 1.36m
Time 2.10s: X = 36.37m Y = 0.40m
Time 2.20s: X = 38.11m Y = -0.66m
Landed at X = 38.11 at time 2.20s
而是将其打印出的其他值。试过我可以但认为有可能是错误的公式代码。
你会得到什么样的价值?并解释公式是什么,它看起来像牛顿的运动公式之一。 – Skizz
花一些时间正确地格式化代码。它可以帮助你和其他人阅读代码。如果你不知道如何,那么阅读其他人的源代码,看看他们如何缩进,评论和格式化。 –
@Skizz:yess是他的一个公式......但是'X'值比我应该得到的要大得多,'Y'值跳到负值。 – Hopla