0

次の方程式を解く必要があります。

old_val = 0.4*U_Z/(log(5/new_val));

どこ

new_val = 0.11*1.5e-5./old_val;

new_val と old_val を計算するには、new_val と old_val を計算し、new_val が前の new_val の 0.001% の場合と同様に new_val の真の値を取るループを作成する必要があります。

これを行うためにwhileループを使用することについては考えていますが、これはうまくいくと思います。ただし、while ループを開始する方法については、少し混乱しています。

while abs((new_val(i) - val_prev(i))) > 0.000001     
    old_val = 0.4*W(i)/(log(5/new_val));
    dummy = new_val(i);
    new_val = 0.11*1.5e-5./old_val;
    val_prev(i) = dummy;
end

また

    while abs((new_val(i) - val_prev(i))) / abs(val_prev(i)) > 0.000001     
    old_val = 0.4*W(i)/(log(5/new_val));
    dummy = new_val(i);
    new_val = 0.11*1.5e-5./old_val;
    val_prev(i) = dummy;
end

どこ

val_prev = new_val*1.1; 

これは反復を開始するために使用されます。while ループを使用して、new_val と val_prev が互いに 0.001% 以内になるまでループを実行し続けます。

4

1 に答える 1