我想使用Matlab在指数模式下使用其方程模拟忆阻器。我的目标是在Matlab中获得滞后曲线(i-v曲线)。等式就像
i=x^n*b*sinh(av)+m(exp(gv)-1)
x'=Af(x)h(v)
其中f(x)
是窗口函数,h(v)
是多项式函数,A
是常量。
f(x)=1-(2x-1)^2
h(v)=cv+dv^3;
c
和d
不变c<0
&amp; d>0
a=2;
b=0.01;
g=4;
n=4;
A=25;
m=0.001;
x
是设备的内部状态..是否可以在matlab中获取情节?
我在matlab中尝试过显示错误
答案 0 :(得分:1)
我在google上发现了一个非常简短的搜索脚本: http://webee.technion.ac.il/people/skva/Memristor%20Models/MATLAB/memristor.m
你可以选择你想要使用哪种模型(在你的情况下是非线性离子漂移模型),窗口函数的类型(你的是Jogelkar我假设)和非线性电压 - 电流关系。 / p>
在修改了一下他们的脚本之后你应该得到这样的东西:
b=0.01; g=4; n=4; a=2;A=25; m=0.001;
c=-1;d=4;%your constants
numOfPoints = 10000;
t = linspace(-1, 1,numOfPoints);
dt = t(2) - t(1);
volt = .003*sin(2*pi*t);
x = zeros(size(t));
curr = x;
for i=2:numOfPoints
x(i) = x(i-1) + A*(c*volt(i)+d*(volt(i))^3)*(1-(2*x(i-1)-1)^2)*dt;
curr(i)=x(i)^n*b*sinh(a*volt(i))+m*(exp(g*volt(i))-1);
end;
fig = figure(1);
plot(volt,curr);
xlabel('Voltage');ylabel('Current');
figure(fig);
祝你好运!