电池容量增量曲线matlab

matlab怎么绘制电池的增量容量曲线
比如利用NASA 电池数据中的B0005电池,怎么样用matlab绘制它的增量容量曲线

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/166814
  • 这篇博客你也可以参考下:MATLAB应用——曲线长度的求解
  • 这篇博客也不错, 你可以看下MATLAB应用——曲线长度的求解
  • 除此之外, 这篇博客: 【有问不答】单点衰减曲线去噪(MATLAB)中的 生成单点衰减曲线 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    我也不懂啥叫单点衰减曲线,但是只要有表达式,就能给你整出来

    x(t)=Cτ∑n=1+∞exp(−n2tτ) x(t) =\frac{C}{\tau} \sum_{n=1}^{+\infty} exp(-\frac{n^2t}{\tau}) x(t)=τCn=1+exp(τn2t)

    我们注意到这里的求和符号直接拉满,干到+∞+\infty+,这……
    由于数学功底不行,不知道怎么搞,只能想到如下方法

    我们画出 f(x)=exp(−x)f(x) = exp(-x)f(x)=exp(x) 的曲线,发现 x<−10x<-10x<10 基本都等于0了,所以我们加到 x=−10x=-10x=10 就行了。
    在这里插入图片描述
    −n2t/τ=x>−10-n^2t/\tau =x>-10n2t/τ=x>10 ,得 n<10τ/tn <\sqrt{10\tau/t}n<10τ/t

    那么我们用for循环来完成求和部分,如下

    function out = kernel(t,tao)
    N = floor(sqrt(10*tao/t));
    out = 0;
    for n = 1:N
        out = out+exp(-n^2*t/tao);
    end
    end
    

    当然循环可以用矩阵运算替换

    function out = kernel(t,tao)
    N = floor(sqrt(10*tao/t));
    n = 1:N;
    out = exp(-n.^2/t/tao)
    end
    

    接下来就可以生成单点衰减曲线了

    %% 生成衰减信号
    % 设置参数
    iter = 0.1;
    T = iter:iter:10;
    C = 10;
    tao = 1;
    % 生成
    signalLen = length(T);
    signal = zeros(signalLen,1);
    for n = 1:signalLen
        signal(n) = C/tao*kernel(T(n),tao);
    end
    
    figure
    plot(signal),title('衰减信号')
    

    原来就长这个样
    在这里插入图片描述



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^