我如何使用matlab绘制滞后?

时间:2016-08-19 16:58:25

标签: matlab

我想使用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; 

cd不变c<0&amp; d>0 a=2; b=0.01; g=4; n=4; A=25; m=0.001;

x是设备的内部状态..是否可以在matlab中获取情节? 我在matlab中尝试过显示错误

1 个答案:

答案 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);
祝你好运!