Question on Creating a simple MATLAB Loop
4 ビュー (過去 30 日間)
古いコメントを表示
Hi All,
Good day!
I'm very-very new to MATLAB, and had a very limited exposure to other programming languages (learn an introduction course in FORTRAN but then it was more then 25 years ago).
I need to calculate a transient characteristic of simple dynamic system. Its seems like a very simple and straight forward loop coding but i couldn't figure out from standard MATLAB manual in the time that is available to me.
The problem as follow; I have some constants and initial conditions.
Use the constants in the formulas and then simple calculate the rest. The output of the previous formula becomes the input of the next.
And i'm going to recalculate those with fixed time increment, and able to tell the program at what time to stop.
Finally, i want it to be plotted, for example in this case the cumulative values of DVTn vs Time.
So, please help me on how to do this in MATLAB.
Any form of helps would be very much appreciated.
Thanks !!!
-----------------------------------------------------------------------------------------------------------
% DVT vs Time ;TRANSIENT CHARACTERISTICS
% Constants and Initial Conditions
VCG = 15; %Applied voltage at control gate, V
TOX = 6*10^(-7); % tunnel oxide thickness in cm
CR=0.65;
AFN = 1.1*10^(-6); % A parameter for FN tunneling, in A/V^2
BFN = 2.8*10^8; % B parameter for FN tunneling, in V/cm
AINJ = (20*10^(-7))^2; % tunneling area (F^2) in cm^2
IPD=9*10^(-7); % IPD EOT in cm
CFG=(3.9*8.85*10^(-14)*AINJ)/IPD;
% Initial condition at t=0, when VCG applied and QFG=0
VFG0 =CR*VCG;
EOX0 = VFG0/TOX;
JFN0 = AFN*EOX0^2*exp(-BFN/EOX0);
DQFG0 = JFN0*AINJ*1*10^(-9);
DVT0 = DQFG0/CFG;
DVT0
'after 1 ns'
VFG1 =CR*(VCG-DVT0);
EOX1 = VFG1/TOX;
JFN1 = AFN*EOX1^2*exp(-BFN/EOX1);
DQFG1 =JFN1*AINJ*1*10^(-9);
DVT1 = DQFG1/CFG;
DVT0+DVT1
'after 2ns'
VFG2 =CR*(VCG-(DVT0+DVT1));
EOX2 = VFG2/TOX;
JFN2 = AFN*EOX2^2*exp(-BFN/EOX2);
DQFG2 = JFN2*AINJ*1*10^(-9);
DVT2 = DQFG2/CFG;
DVT0+DVT1+DVT2
'after 3ns'
Resume calculating DVTn until reacing a certain stop time.
Plot (DVTn, time).
0 件のコメント
採用された回答
Miro
2012 年 7 月 19 日
The simplest form of a loop is
Result = [];
PLACE THE INITIAL AND CONSTANTS PARAMETERS HERE
for i = 1 : x
1.PLACE THE CALCULATION HERE
2.STORE THE RESULTS (like Result(i) = outputofcalculation)
3.CHANGE THE PARAMETERS (like x=x+10)_
end
this runs the calculation x times.
0 件のコメント
その他の回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!