有問題,這個公式的輸出: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