私はiOSプログラミング/目的関数cを初めて使用しています。反復試行錯誤計算をしようとしています。通常、このコードは、私がobjのCでこの問題を克服するかどうかはわかりませんエクセルVBAで働いているだろう:私はこれをコンパイルするとき試行錯誤はiOSのdo文で行われます
- (IBAction)calculate:(id)sender {
static float friction=2;
static float difference;
float Re = [pipe_id.text floatValue] * [fluid_velocity.text floatValue]/[kin_viscosity.text floatValue];
ReynoldsNo.text = [[NSString alloc]initWithFormat:@"%6.2f", Re];
do{
float Colebrook1 = 1/powf(friction,0.5);
float Colebrook2 = -2*log10f([RelativeRoughness.text floatValue]/(3.7*[pipe_id.text floatValue]) + 2.51/(Re*powf(friction,0.5)));
float difference = fabsf((Colebrook1-Colebrook2)*1000);
friction = friction - 0.000001;
FrictionFactor.text = [[NSString alloc]initWithFormat:@"%6.2f", friction];
Cole1.text = [[NSString alloc]initWithFormat:@"%6.2f", Colebrook1];
Cole2.text = [[NSString alloc]initWithFormat:@"%6.2f", Colebrook2];
}while (difference > 0.000001);
}
だから、摩擦の値は2のまま私のループではありません全体的な試行錯誤が崩れています。これを客観的にどのように書くべきかを知るには何か助けが必要です。
非常にスティーブン、ありがとうございました。最初は、宣言されていない変数を使用していましたので、後でループ外の変数を宣言しようとしました。 static float friction = 2; ループ内で変数が見えないと思ったので、私は静的変数を使用しました。 – ALM