lardali 2022-05-30 12:27 采纳率: 0%
浏览 153
已结题

如何在simulink中用data store传递数组

用simulink搭建一个数据采集模型,子程序数据采集主程序进行传输,子程序采集的数据保存在一个数组中想用全局变量的方法在主程序中调用数组。用了data store定义全局变量,并且在data store memory里初始化用zero函数初始化了一个数组,但结果显示数组里所有的数都为同一个值

  • 写回答

3条回答 默认 最新

  • lardali 2022-05-30 16:27
    关注

    对于模型进行了简化,主要是定义全局向量的问题

    img

    左侧程序为
    function fcn()
    %#codegen
    global U1;
    persistent i;

    if isempty(i)
    i=1;
    U1=double(zeros(1000,1));

    end
    if i<=1000
    U1(i,1)=i;
    end

    i=i+1;

    end
    右侧程序
    function u1=fcn
    %#codegen
    global U1;
    persistent i;

    if isempty(i)
    i=1;

    end
    u1=1;
    if i>100&&i<=1100
    u1=double(U1(i-100,1));
    end

    i=i+1;

    end
    data store memory设定

    img

    结果示波器输出为1

    评论

报告相同问题?

问题事件

  • 系统已结题 6月7日
  • 创建了问题 5月30日