2016-04-23 10 views
1

私は次のコードを実行し、ベクトルIBを得ることを期待していますが、ベクトルを取得しますが、すべての要素が同じですが、このコードの問題点はわかりません。ベクトルのMATLABのループ

function IB = ibtest(VCC) 
    RL = [1000, 10000, 200000, 400000, 600000, 800000, 1000000]; 
    RB = 22000; 
    RP = 50; 
    R = 470; 
    B = 300; 
    i = 0; 
    for t = 1:length(RL) 
     i = i+1; 
     IB(i) = ((VCC - 2.1)*(RL(i) + RP))/((RL(i) * RP) + (RB*(RL(i) + RP)) + (301 * 470 * (RL(i) + RP))); 
    end 
    IB 
end 
+0

'format long'を試してください。 「IB」値は実際には異なる可能性がある。 'format long'では' IB(2)-IB(1) 'を試してみます。 –

+0

長い形式で問題を解決しました。ありがとうございます! –

+0

私のものをtに置き換えることができますか? – Nerzid

答えて

1

あなたのコードに問題はありません。反復ごとに同じ分数で分子と分母を増やすのと同じ数にする必要があります。このコードを実行してみてください:あなたは式に何かがなければならない期待するものを取得しない場合

function IB = ibtest(VCC) 
    RL = [1000, 10000, 200000, 400000, 600000, 800000, 1000000]; 
    RB = 22000; 
    RP = 50; 
    R = 470; 
    B = 300; 
    for t = 1:length(RL) 
     num = ((VCC - 2.1)*(RL(t) + RP)) 
     denom = ((RL(t) * RP) + (RB*(RL(t) + RP)) + (301 * 470 * (RL(t) + RP))) 
     IB(t) = num/denom 
    end 
end 

私はまた、あなたがそう計算したいのか分かりません。

関連する問題