为明显不应为零的变量获取零值

时间:2018-05-12 08:29:53

标签: scilab

我编写了以下代码来计算沿翅片的温度分布。出于某种原因,它会将某些值计算为零,即使它们不是!

for t = 0:300:3000
for i = 2:L2
    if i ==2
        A(i)= 0.75*rhocp*DX/DT + 3*k/dx;
        B(i)= k/dx;
        C(i)= 2*k/dx;
        D(i)= 0.75*rhocp*(DX/DT)*T(i);
    elseif i == L2
        A(i)= 0.75*rhocp*DX/DT + 3*k/dx;
        B(i)= 2*k/dx;
        C(i)= k/dx;
        D(i)= 0.75*rhocp*(DX/DT)*T(i);
    else
        A(i)= 0.75*rhocp*DX/DT + 2*k/dx;
        B(i)= k/dx;
        C(i)= k/dx;
        D(i)= rhocp*(DX/DT)*T(i);
    end

    P(1) = 0;
    Q(1) = T(1);
    for i = 2:L2
        DENO = A(i) - C(i)*P(i-1);
        NUM = D(i)+ C(i)*Q(i-1);
        P(i) = B(i)/DENO;
        Q(i) = NUM/DENO;
    end

    for i =L2:-1:2
        if i == L2
            T(i) = Q(i);
        else
            T(i) = P(i)*T(i+1) + Q(i);
        end
    end
    T(L1) = ((2*k*T(L2) - h*DX*Tinf)/(2*k - h*DX));
end
disp (T);       

`

DENO和NUM在第一次迭代中计算为零,即使计算它们的值不为零!这导致"除以零"错误。

A(2)-C(2)*P(1)

ans =

3750.

分析它虽然有了价值。

0 个答案:

没有答案