내 프로그램에서 "button1_Click"에 몇 가지 변수를 정의했으며 "button1_Click"함수에 "for"루프가 있습니다. 그 루프에서 나는 그 변수들이 변경되기를 원하지만 그들은 변하지 않는다. 내가해야 할 일은 ... 참조로 전달하는 것일까 요? 그렇다면 어떻게?변수가 For 루프에서 변경되지 않습니다
private void button1_Click(object sender, EventArgs e)
{
double t=0;
double x = double.Parse(X0.Text);
double z = double.Parse(Z0.Text);
double y = double.Parse(Y0.Text);
double u = double.Parse(U0.Text);
double tn = double.Parse(Tn.Text);
double h = double.Parse(textbox_h.Text);
for (int i = 0; i < (tn/h); i++)
{
double K1x = h * fx(t, x, y, z, u);
double K2x = h * fx(t + h/2, x + K1x/2, y + K1y/2, z + K1z/2, u + K1u/2);
double K3x = h * fx(t + h/2, x + K2x/2, y + K2y/2, z + K2z/2, u + K2u/2);
double K4x = h * fx(t + h, x + K3x, y + K3y, z + K3z, u + K3u);
x =x+ (1/6)*(K1x + 2 * K2x + 2 * K3x + K4x);
richTextBox1.Text += "X(" + (h * (i + 1)).ToString() + ")=" + x.ToString();
}
모든 것이 올바르지 만 마지막 줄에는 x의 새 값이 x에없고 이전 값이 유지됩니다. fx, fz, fy, fu는 앞서 정의한 함수입니다.
코드가 괜찮습니다. x가 업데이트되지 않는 이유는 무엇이라고 생각하십니까? richTextBox1.Text에 새 행 (Environment.NewLine)을 추가하여 값을 더 잘 볼 수 있습니다. – Polyfun
richTextBox1.Text ... 행이 for 루프 외부에 있지 않아야합니까? 왜냐하면 그것은 for 루프에서 업데이트 될 것이고, 당신은 무슨 일이 일어나는지 볼 시간이 없을 것입니다 ... –
첫 시도보다 훨씬 좋지만 예상 결과와 실제 결과를 더 잘 문서화해야합니다. –