Graphs set to zero in a two graphs plot

조회 수: 6 (최근 30일)
yackhaton
yackhaton 2017년 5월 12일
댓글: KL 2017년 5월 12일

Hello,

When I run this code with non-zero values for Ieq and Req I just get the second function (I2) on the graph. I don't know why the first function (I1) in constantly zero despite the fact that it shouldn't be so. Vd_vec is equal to 0:0.001:Ieq*Req.

    function [ Vd,Id ] = solve_diode_graph( Ieq,Req,Vd_vec )
     V = Vd_vec;
     I1 = Ieq - (V/Req);
     I2 = (10^-12)*(exp(V/0.026)-1); 
     figure();
     plot(V, I1, V, I2);
     legend('Id1', 'Id2')
     Vd = [ ];
     Id = [ ];
    end
  댓글 수: 2
KSSV
KSSV 2017년 5월 12일
Give the values of Ieq,Req,Vd_vec .
yackhaton
yackhaton 2017년 5월 12일
Ieq = 1, Req =2, Vd_vec = 0:0.001:Ieq*Req

댓글을 달려면 로그인하십시오.

답변 (1개)

KL
KL 2017년 5월 12일
편집: KL 2017년 5월 12일
if I1 is zero, it comes simply from the line I1 = Ieq - (V/Req);, which are your function inputs.
Nevertheless, according to your equations, I1 should start from Ieq and eventually would become zero in its final timestep since V(end) = Ieq*Req.
  댓글 수: 3
KL
KL 2017년 5월 12일
that's because of the scale, since your Ieq = 1, I1 starts from 1 and meets zero in the end which you cannot see on the graph because I2 starts from 0 and grows exponentially. use the right side y axis with proper limits and you'll see both on the same graph
KL
KL 2017년 5월 12일
or a subplot
figure();
subplot(2,1,1)
plot(V, I1);
title('Id1')
subplot(2,1,2)
plot(V, I2)
title('Id2')

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Mathematics에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by