如何该对已经得到的波形进行改善

请问该如何对已经得到的波形进行改善?
如图,上栏是电压波形,下栏是电流波形。上栏的电压波形太过于紊乱,下栏的电流波形尖顶波形状严重,不知道该如何改善,谢谢。

img

数据进行预处理,丝滑的数据有用

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7789653
  • 这篇博客也不错, 你可以看下算法的深层次知识是数学,这些常用的互联网经典算法应用案例,你知道几个?
  • 除此之外, 这篇博客: 网络流中最大流和最小割算法中的 当最大流对偶成最小割时候,也就是整数规划,那么可以用线性规划方法很快解出来。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 那么这和最小割有什么关系呢?
    在这里插入图片描述
    打开我的matlab。。。。。

    clc;clear;
    f = [0, 0, 2, 1, 3, 2, 1];
    intcon = [1, 2, 3, 4, 5, 6, 7];
    A = [-1, 1, 0, 0, -1, 0, 0; 
        -1, 0, 0, 0, 0, -1, 0; 
        0, -1, 0, 0, 0, 0, -1];
    b = [0; -1; -1];
    Aeq = [-1, 0, 1, 0, 0, 0, 0;
           0, -1, 0, 1, 0, 0, 0];
    beq = [0; 0];
    lb = zeros(7,1);
    ub = [1;1;1;1;1;1;1]; % Enforces x(3) is binary
    [x,fval,exitflag,output] = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub);
    disp(x);
    

    算完了发现结果是
    在这里插入图片描述
    也就是yu=1,yv=1,z1=1,z2=1,对着图看一下
    在这里插入图片描述
    发现最小割,确实就是红线指的那个,最小割也就是3.
    说了这么多,我自己会不会算整数规划呢?手算一下试试
    首先内点法肯定是不错的方法,可惜手推麻烦,画图又不会。。。。
    那么还是先看个例子吧
    在这里插入图片描述
    对于这个问题,直接LP,求得解不满足x1,x2,x3试试整数,由于x1=1.25,那么向上向下各取一个整数边界,即小于等于1和大于等于2,
    问题转化
    在这里插入图片描述
    发现P1的结果已经满足x1为整数, 继续转化,其中因为是最小化,如果向上向下都有解,那么选择小的,结果如下
    在这里插入图片描述
    P5时满足条件,则求解完成。
    虽然我们这里变量都是0-1变量不过不影响,只是确定的更快而已,那就是如何手撕LP了,选择单纯形法最多用了,试试
    在这里插入图片描述
    只算了一次,还需要迭代,不保证算对。。。但是感觉没算错,有意者参考单纯形法实例

    最大流和最小割的转化就是哪个好算用哪个,而最小割一般就是中间两排节点之间的度为INF,这时候也就只能割S到第一排或者第二排到T。
    而中间两排节点之间度怎么理解,我觉得就是你吧一个问题转化为网络流问题时,若是存在不可分割的东西,就想象用最小割,而它们之间的边的度就是INF。

  • 您还可以看一下 张传波老师的软件设计是怎样炼成的?课程中的 采用更进取的设计策略,打造工作流引擎!小节, 巩固相关知识点