资源简介
里面实现了最新的一个国外文章里的memristor模型,还编写了用户接口和GUI,很实用,很好的学习资料。
代码片段和文件信息
%Model name: model of Memristor based on Theoretical formulas
% this model was written by Dmitry Fliter and Keren Talisveyberg
% Technion Israel institute of technology EE faculty December 2011
model = 1; % define the model 0 - Linear Ion Drift ; 1 - Simmons Tunnel Barrier; 2 - Team model ; 3 - Nonlinear Ion Drift model
win = 0; % define the window type : 0 - No window; 1 - Jogelkar window ; 2 - Biolek window ; 3 - Prodromakis window ; 4- Kvatinsky window (Team model only)
iv = 0; % IV_relation=0 means linear V=IR. IV_relation=1 means nonlinear V=I*exp{..}
%Genaral parameters
num_of_cycles = 20;
amp = 0.003;
freq = 2e6;
w_init = 0.5; % the initial state condition [0:1]
D = 3e-09;
V_t = 0;
P_coeff = 2;
J = 1;
Roff = 2e5;
Ron = 100;
%Linear Ion Drift parameters
uV=1e-15; %%dopants mobility
%Simmons Tunnel Bariier % Team parameters
a_on = 2e-09;
a_off = 1.2e-09;
c_on = 40e-06;
c_off = 3.5e-06;
alpha_on = 3;
alpha_off = 3;
k_on = -8e-13;
k_off = 8e-13;
i_on = 8.9e-06;
i_off = 115e-06;
x_on = 3e-09;
x_off = 0;
X_c = 107e-12;
b = 500e-06;
%Nonlinear Ion Drift parametrs
beta = 9;
a = 4;
c = 0.01;
n = 14;
q = 13;
g = 4;
alpha = 7;
%% Linear Ion Drift model
if (model==0)
tspan=[0 num_of_cycles/freq]; %%time length of the simulation
points=2e5; %%number of sampling points
W0=w_init*D; %define the initial value of W
tspan_vector = linspace(tspan(1)tspan(2)points); % Create vector of initial values
I = amp*sin(freq*2*pi*tspan_vector); %%can also use square wave generated by : (square(tspan_vector));
W=zeros(size((tspan_vector)));
W_dot=zeros(size((tspan_vector)));
delta_t=tspan_vector(2)-tspan_vector(1); %%define the step size
W(1)=W0; %% initiliaze the first W vetor elemnt to W0 - the initial condition
for i=2:length(tspan_vector)
% case this is an ideal window
if (((win==0) || (win==4)) && ((abs (I(i))) >= (V_t/ (Ron*W(i-1)/D+Roff*(1-W(i-1)/D)))))
W_dot(i)=I(i)*(Ron*uV/D);
W(i)=W(i-1)+W_dot(i)*delta_t;
elseif ((win==0) && ((abs(I(i))) < (V_t/ (Ron*W(i-1)/D+Roff*(1-W(i-1)/D)))))
W(i)=W(i-1);
W_dot(i)=0;
end
% case this is Jogelkar window
if ((win==1) && ((abs(I(i))) >= (V_t/(Ron*W(i-1)/D+Roff*(1-W(i-1)/D)))))
W_dot(i)=I(i)*(Ron*uV/D);
W(i)=W(i-1)+W_dot(i)*delta_t*(1-(2*W(i-1)/D-1)^(2*P_coeff));%%+1e-18*sign(I(i));
elseif ((win==1) && ((abs (I(i)) ) < (V_t/ (Ron*W(i-1)/D+Roff*(1-W(i-1)/D)))))
W(i)=W(i-1);
W_dot(i)=0;
end
% case this is Biolek window
if ((win==2) && ((abs(I(i))) >= (V_t/(Ron*W(i-1)/D+Roff*(1-W(i-1)/D)))))
W_dot(i)=I(i)*(Ron*uV/D);
W(i)=W(i-1)+W_dot(i)*delta_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10007 2012-09-18 15:38 Mem\memirstor.m
文件 71307 2012-09-18 15:39 Mem\MemristorGui.m
文件 4769815 2012-09-18 15:41 Mem\MemristorGui.fig
文件 388500 2012-09-17 17:43 Mem\Manual.pdf
目录 0 2012-09-18 15:38 Mem
----------- --------- ---------- ----- ----
5239629 5
- 上一篇:MATLAB神经网络应用设计
- 下一篇:surf的matlab算法实现
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
- Matlab实现混沌系统的控制
- 检测疲劳驾驶
- Matlab锁相环仿真-Phase Locked Loop.rar
评论
共有 条评论