我需要解决以下等式:
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% 以内。