⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comet3.c

📁 该程序为MATLAB对CDMA系统个部分的仿真
💻 C
📖 第 1 页 / 共 2 页
字号:
            _mxarray17_,
            _mxarray19_,
            _mxarray21_,
            mclVe(mclIntArrayRef1(mclVsa(x, "x"), 1)),
            _mxarray23_,
            mclVe(mclIntArrayRef1(mclVsa(y, "y"), 1)),
            _mxarray25_,
            mclVe(mclIntArrayRef1(mclVsa(z, "z"), 1)),
            NULL));
        /*
         * 'xdata',x(1),'ydata',y(1),'zdata',z(1));
         * body = line('color',co(2,:),'linestyle','-','erase','none', ...
         */
        mlfAssign(
          &body,
          mlfNLine(
            1,
            _mxarray11_,
            mclVe(
              mclArrayRef2(
                mclVsv(co, "co"), _mxarray27_, mlfCreateColonIndex())),
            _mxarray28_,
            _mxarray30_,
            _mxarray17_,
            _mxarray32_,
            _mxarray21_,
            _mxarray34_,
            _mxarray23_,
            _mxarray34_,
            _mxarray25_,
            _mxarray34_,
            NULL));
        /*
         * 'xdata',[],'ydata',[],'zdata',[]);
         * tail = line('color',co(3,:),'linestyle','-','erase','none', ...
         */
        mlfAssign(
          &tail,
          mlfNLine(
            1,
            _mxarray11_,
            mclVe(
              mclArrayRef2(
                mclVsv(co, "co"), _mxarray10_, mlfCreateColonIndex())),
            _mxarray28_,
            _mxarray30_,
            _mxarray17_,
            _mxarray32_,
            _mxarray21_,
            _mxarray34_,
            _mxarray23_,
            _mxarray34_,
            _mxarray25_,
            _mxarray34_,
            NULL));
    /*
     * 'xdata',[],'ydata',[],'zdata',[]);
     * else
     */
    } else {
        /*
         * % Choose first three colors for head, body, and tail
         * head = line('color',co(1,:),'marker','o','erase','xor', ...
         */
        mlfAssign(
          &head,
          mlfNLine(
            1,
            _mxarray11_,
            mclVe(
              mclArrayRef2(
                mclVsv(co, "co"), _mxarray6_, mlfCreateColonIndex())),
            _mxarray13_,
            _mxarray15_,
            _mxarray17_,
            _mxarray19_,
            _mxarray21_,
            mclVe(mclIntArrayRef1(mclVsa(x, "x"), 1)),
            _mxarray23_,
            mclVe(mclIntArrayRef1(mclVsa(y, "y"), 1)),
            _mxarray25_,
            mclVe(mclIntArrayRef1(mclVsa(z, "z"), 1)),
            NULL));
        /*
         * 'xdata',x(1),'ydata',y(1),'zdata',z(1));
         * body = line('color',co(1,:),'linestyle','--','erase','none', ...
         */
        mlfAssign(
          &body,
          mlfNLine(
            1,
            _mxarray11_,
            mclVe(
              mclArrayRef2(
                mclVsv(co, "co"), _mxarray6_, mlfCreateColonIndex())),
            _mxarray28_,
            _mxarray35_,
            _mxarray17_,
            _mxarray32_,
            _mxarray21_,
            _mxarray34_,
            _mxarray23_,
            _mxarray34_,
            _mxarray25_,
            _mxarray34_,
            NULL));
        /*
         * 'xdata',[],'ydata',[],'zdata',[]);
         * tail = line('color',co(1,:),'linestyle','-','erase','none', ...
         */
        mlfAssign(
          &tail,
          mlfNLine(
            1,
            _mxarray11_,
            mclVe(
              mclArrayRef2(
                mclVsv(co, "co"), _mxarray6_, mlfCreateColonIndex())),
            _mxarray28_,
            _mxarray30_,
            _mxarray17_,
            _mxarray32_,
            _mxarray21_,
            _mxarray34_,
            _mxarray23_,
            _mxarray34_,
            _mxarray25_,
            _mxarray34_,
            NULL));
    /*
     * 'xdata',[],'ydata',[],'zdata',[]);
     * end
     */
    }
    /*
     * 
     * m = length(z);
     */
    mlfAssign(&m, mlfScalar(mclLengthInt(mclVa(z, "z"))));
    /*
     * k = round(p*m);
     */
    mlfAssign(&k, mlfRound(mclMtimes(mclVa(p, "p"), mclVv(m, "m"))));
    /*
     * 
     * % Grow the body
     * for i = 2:k+1
     */
    {
        int v_ = mclForIntStart(2);
        int e_ = mclForIntEnd(mclPlus(mclVv(k, "k"), _mxarray6_));
        if (v_ > e_) {
            mlfAssign(&i, _mxarray34_);
        } else {
            /*
             * j = i-1:i;
             * set(head,'xdata',x(i),'ydata',y(i),'zdata',z(i))
             * set(body,'xdata',x(j),'ydata',y(j),'zdata',z(j))
             * drawnow
             * end
             */
            for (; ; ) {
                mlfAssign(&j, mlfColon(mlfScalar(v_ - 1), mlfScalar(v_), NULL));
                mclPrintAns(
                  &ans,
                  mlfNSet(
                    0,
                    mclVv(head, "head"),
                    _mxarray21_,
                    mclVe(mclIntArrayRef1(mclVsa(x, "x"), v_)),
                    _mxarray23_,
                    mclVe(mclIntArrayRef1(mclVsa(y, "y"), v_)),
                    _mxarray25_,
                    mclVe(mclIntArrayRef1(mclVsa(z, "z"), v_)),
                    NULL));
                mclPrintAns(
                  &ans,
                  mlfNSet(
                    0,
                    mclVv(body, "body"),
                    _mxarray21_,
                    mclVe(mclArrayRef1(mclVsa(x, "x"), mclVsv(j, "j"))),
                    _mxarray23_,
                    mclVe(mclArrayRef1(mclVsa(y, "y"), mclVsv(j, "j"))),
                    _mxarray25_,
                    mclVe(mclArrayRef1(mclVsa(z, "z"), mclVsv(j, "j"))),
                    NULL));
                mlfDrawnow(NULL);
                if (v_ == e_) {
                    break;
                }
                ++v_;
            }
            mlfAssign(&i, mlfScalar(v_));
        }
    }
    /*
     * 
     * % Primary loop
     * m = length(x);
     */
    mlfAssign(&m, mlfScalar(mclLengthInt(mclVa(x, "x"))));
    /*
     * for i = k+2:m
     */
    {
        mclForLoopIterator viter__;
        for (mclForStart(
               &viter__,
               mclPlus(mclVv(k, "k"), _mxarray27_),
               mclVv(m, "m"),
               NULL);
             mclForNext(&viter__, &i);
             ) {
            /*
             * j = i-1:i;
             */
            mlfAssign(
              &j,
              mlfColon(
                mclMinus(mclVv(i, "i"), _mxarray6_), mclVv(i, "i"), NULL));
            /*
             * set(head,'xdata',x(i),'ydata',y(i),'zdata',z(i))
             */
            mclPrintAns(
              &ans,
              mlfNSet(
                0,
                mclVv(head, "head"),
                _mxarray21_,
                mclVe(mclArrayRef1(mclVsa(x, "x"), mclVsv(i, "i"))),
                _mxarray23_,
                mclVe(mclArrayRef1(mclVsa(y, "y"), mclVsv(i, "i"))),
                _mxarray25_,
                mclVe(mclArrayRef1(mclVsa(z, "z"), mclVsv(i, "i"))),
                NULL));
            /*
             * set(body,'xdata',x(j),'ydata',y(j),'zdata',z(j))
             */
            mclPrintAns(
              &ans,
              mlfNSet(
                0,
                mclVv(body, "body"),
                _mxarray21_,
                mclVe(mclArrayRef1(mclVsa(x, "x"), mclVsv(j, "j"))),
                _mxarray23_,
                mclVe(mclArrayRef1(mclVsa(y, "y"), mclVsv(j, "j"))),
                _mxarray25_,
                mclVe(mclArrayRef1(mclVsa(z, "z"), mclVsv(j, "j"))),
                NULL));
            /*
             * set(tail,'xdata',x(j-k),'ydata',y(j-k),'zdata',z(j-k))
             */
            mclPrintAns(
              &ans,
              mlfNSet(
                0,
                mclVv(tail, "tail"),
                _mxarray21_,
                mclVe(
                  mclArrayRef1(
                    mclVsa(x, "x"), mclMinus(mclVv(j, "j"), mclVv(k, "k")))),
                _mxarray23_,
                mclVe(
                  mclArrayRef1(
                    mclVsa(y, "y"), mclMinus(mclVv(j, "j"), mclVv(k, "k")))),
                _mxarray25_,
                mclVe(
                  mclArrayRef1(
                    mclVsa(z, "z"), mclMinus(mclVv(j, "j"), mclVv(k, "k")))),
                NULL));
            /*
             * drawnow
             */
            mlfDrawnow(NULL);
        /*
         * end
         */
        }
        mclDestroyForLoopIterator(viter__);
    }
    /*
     * 
     * % Clean up the tail
     * for i = m+1:m+k
     */
    {
        mclForLoopIterator viter__;
        for (mclForStart(
               &viter__,
               mclPlus(mclVv(m, "m"), _mxarray6_),
               mclPlus(mclVv(m, "m"), mclVv(k, "k")),
               NULL);
             mclForNext(&viter__, &i);
             ) {
            /*
             * j = i-1:i;
             */
            mlfAssign(
              &j,
              mlfColon(
                mclMinus(mclVv(i, "i"), _mxarray6_), mclVv(i, "i"), NULL));
            /*
             * set(tail,'xdata',x(j-k),'ydata',y(j-k),'zdata',z(j-k))
             */
            mclPrintAns(
              &ans,
              mlfNSet(
                0,
                mclVv(tail, "tail"),
                _mxarray21_,
                mclVe(
                  mclArrayRef1(
                    mclVsa(x, "x"), mclMinus(mclVv(j, "j"), mclVv(k, "k")))),
                _mxarray23_,
                mclVe(
                  mclArrayRef1(
                    mclVsa(y, "y"), mclMinus(mclVv(j, "j"), mclVv(k, "k")))),
                _mxarray25_,
                mclVe(
                  mclArrayRef1(
                    mclVsa(z, "z"), mclMinus(mclVv(j, "j"), mclVv(k, "k")))),
                NULL));
            /*
             * drawnow
             */
            mlfDrawnow(NULL);
        /*
         * end
         */
        }
        mclDestroyForLoopIterator(viter__);
    }
    mxDestroyArray(ans);
    mxDestroyArray(ax);
    mxDestroyArray(co);
    mxDestroyArray(head);
    mxDestroyArray(body);
    mxDestroyArray(tail);
    mxDestroyArray(m);
    mxDestroyArray(k);
    mxDestroyArray(i);
    mxDestroyArray(j);
    mxDestroyArray(p);
    mxDestroyArray(z);
    mxDestroyArray(y);
    mxDestroyArray(x);
    mclSetCurrentLocalFunctionTable(save_local_function_table_);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -