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

📄 bitandpoweralloct2.c

📁 好东西
💻 C
📖 第 1 页 / 共 2 页
字号:
        if (v_ > e_) {
            mlfAssign(&i, _mxarray2_);
        } else {
            /*
             * right=0;   
             * for p=1:1:K
             * right=right+1/gamag(p,i);
             * end
             * gama_sum=right/K;
             * right=gama_sum-1.6/log(5*Pe);
             * right=1/right; 
             * 
             * %     right2=0;
             * %         for p=1:1:K
             * %             right2=right2+(log(5*Pe)/log(2.7183))/(gamag(p,i)*(-1.6));
             * %         end    
             * %         right2=right2/K;
             * %         right2=(log(5*Pe)/log(2.7183))/(1.6*(-1-right2));
             * 
             * Cbitvector1=zeros(K,1);
             * for q=1:1:K
             * %         if(gamag(q,i)<right|gamag(q,i)<right2)
             * if(gamag(q,i)<right)
             * Cbitvector1(q)=0;
             * flag(q,i)=0;
             * else
             * flag(q,i)=1;
             * sum1=gamag(q,i)*(gama_sum-1.6/log(5*Pe));
             * Cbitvector1(q)=log2(sum1);
             * end
             * end
             * 
             * for s=1:1:K
             * %            Cbitvector1(s)=4;
             * if(Cbitvector1(s)<1)
             * Cbitvector1(s)=0;
             * end
             * 
             * %         if(Cbitvector1(s)>=1 && Cbitvector1(s)<2)
             * % %           if(Cbitvector1(s)>=1)
             * %             Cbitvector1(s)=1;
             * %         end
             * 
             * if(Cbitvector1(s)>=1 && Cbitvector1(s)<3)
             * %         if(Cbitvector1(s)>=3)
             * Cbitvector1(s)=2;
             * end
             * if(Cbitvector1(s)>=3 && Cbitvector1(s)<5)
             * Cbitvector1(s)=4;
             * end
             * if(Cbitvector1(s)>=5)
             * Cbitvector1(s)=6;
             * end
             * % % % %     
             * %         if(Cbitvector1(s)>=4.5)
             * %             Cbitvector1(s)=4;
             * %         end
             * end
             * Cbitvector(:,i)=Cbitvector1;
             * 
             * 
             * 
             * %         right2=0;
             * %         for p=1:1:K
             * %             right2=right2+(log(5*Pe)/log(2.7183))/gamag(p,i)*(-1.6);
             * %         end
             * %     
             * %         right2=right2/K;
             * %         right2=(log(5*Pe)/log(2.7183))/(1.6*(-1-right2));
             * % 
             * 
             * 
             * 
             * poweralloctvector1=zeros(K,1);
             * 
             * for t=1:1:K
             * if(gamag(t,i)<right)
             * poweralloctvector1(t)=0;
             * %              flag(t,i)=0;
             * else
             * %             flag(t,i)=1;   
             * 
             * 
             * sumsum1=1+(log(5*Pe)/1.6)*(1/gamag(t,i)-gama_sum);
             * poweralloctvector1(t)=Saverage*sumsum1;
             * end
             * end
             * poweralloctvector1=poweralloctvector1*(N_carrier*Saverage)/(sum(poweralloctvector1)*(N/K));
             * %     pow=pow+sum(poweralloctvector1);
             * %     pow=pow/N_carrier;
             * %     poweralloctvector(:,i)=poweralloctvector1/pow;
             * poweralloctvector(:,i)=poweralloctvector1;
             * %     An=poweralloctvector1;
             * end
             */
            for (; ; ) {
                mlfAssign(&right, _mxarray1_);
                {
                    int v_1 = mclForIntStart(1);
                    int i_ = 1;
                    int e_1 = mclForIntIntEnd(v_1, i_, mclVv(K, "K"));
                    if (e_1 == mclIntMin()) {
                        mlfAssign(&p, _mxarray2_);
                    } else {
                        for (; ; ) {
                            mlfAssign(
                              &right,
                              mclPlus(
                                mclVv(right, "right"),
                                mclMrdivide(
                                  _mxarray0_,
                                  mclIntArrayRef2(
                                    mclVv(gamag, "gamag"), v_1, v_))));
                            if (v_1 == e_1) {
                                break;
                            }
                            v_1 += i_;
                        }
                        mlfAssign(&p, mlfScalar(v_1));
                    }
                }
                mlfAssign(
                  &gama_sum, mclMrdivide(mclVv(right, "right"), mclVv(K, "K")));
                mlfAssign(
                  &right,
                  mclMinus(
                    mclVv(gama_sum, "gama_sum"),
                    mclMrdivide(
                      _mxarray5_,
                      mlfLog(mclMtimes(_mxarray6_, mclVa(Pe, "Pe"))))));
                mlfAssign(
                  &right, mclMrdivide(_mxarray0_, mclVv(right, "right")));
                mlfAssign(
                  &Cbitvector1, mlfZeros(mclVv(K, "K"), _mxarray0_, NULL));
                {
                    int v_2 = mclForIntStart(1);
                    int i_ = 1;
                    int e_2 = mclForIntIntEnd(v_2, i_, mclVv(K, "K"));
                    if (e_2 == mclIntMin()) {
                        mlfAssign(&q, _mxarray2_);
                    } else {
                        for (; ; ) {
                            if (mclLtBool(
                                  mclIntArrayRef2(
                                    mclVv(gamag, "gamag"), v_2, v_),
                                  mclVv(right, "right"))) {
                                mclIntArrayAssign1(
                                  &Cbitvector1, _mxarray1_, v_2);
                                mclIntArrayAssign2(&flag, _mxarray1_, v_2, v_);
                            } else {
                                mclIntArrayAssign2(&flag, _mxarray0_, v_2, v_);
                                mlfAssign(
                                  &sum1,
                                  mclMtimes(
                                    mclIntArrayRef2(
                                      mclVv(gamag, "gamag"), v_2, v_),
                                    mclMinus(
                                      mclVv(gama_sum, "gama_sum"),
                                      mclMrdivide(
                                        _mxarray5_,
                                        mlfLog(
                                          mclMtimes(
                                            _mxarray6_, mclVa(Pe, "Pe")))))));
                                mclIntArrayAssign1(
                                  &Cbitvector1,
                                  mlfLog2(NULL, mclVv(sum1, "sum1")),
                                  v_2);
                            }
                            if (v_2 == e_2) {
                                break;
                            }
                            v_2 += i_;
                        }
                        mlfAssign(&q, mlfScalar(v_2));
                    }
                }
                {
                    int v_3 = mclForIntStart(1);
                    int i_ = 1;
                    int e_3 = mclForIntIntEnd(v_3, i_, mclVv(K, "K"));
                    if (e_3 == mclIntMin()) {
                        mlfAssign(&s, _mxarray2_);
                    } else {
                        for (; ; ) {
                            if (mclLtBool(
                                  mclIntArrayRef1(
                                    mclVv(Cbitvector1, "Cbitvector1"), v_3),
                                  _mxarray0_)) {
                                mclIntArrayAssign1(
                                  &Cbitvector1, _mxarray1_, v_3);
                            }
                            if (mclScalarToBool(
                                  mclGe(
                                    mclIntArrayRef1(
                                      mclVv(Cbitvector1, "Cbitvector1"), v_3),
                                    _mxarray0_))
                                && mclScalarToBool(
                                     mclLt(
                                       mclIntArrayRef1(
                                         mclVv(Cbitvector1, "Cbitvector1"),
                                         v_3),
                                       _mxarray7_))) {
                                mclIntArrayAssign1(
                                  &Cbitvector1, _mxarray3_, v_3);
                            }
                            if (mclScalarToBool(
                                  mclGe(
                                    mclIntArrayRef1(
                                      mclVv(Cbitvector1, "Cbitvector1"), v_3),
                                    _mxarray7_))
                                && mclScalarToBool(
                                     mclLt(
                                       mclIntArrayRef1(
                                         mclVv(Cbitvector1, "Cbitvector1"),
                                         v_3),
                                       _mxarray6_))) {
                                mclIntArrayAssign1(
                                  &Cbitvector1, _mxarray8_, v_3);
                            }
                            if (mclGeBool(
                                  mclIntArrayRef1(
                                    mclVv(Cbitvector1, "Cbitvector1"), v_3),
                                  _mxarray6_)) {
                                mclIntArrayAssign1(
                                  &Cbitvector1, _mxarray9_, v_3);
                            }
                            if (v_3 == e_3) {
                                break;
                            }
                            v_3 += i_;
                        }
                        mlfAssign(&s, mlfScalar(v_3));
                    }
                }
                mclArrayAssign2(
                  Cbitvector,
                  mclVv(Cbitvector1, "Cbitvector1"),
                  mlfCreateColonIndex(),
                  mlfScalar(v_));
                mlfAssign(
                  &poweralloctvector1,
                  mlfZeros(mclVv(K, "K"), _mxarray0_, NULL));
                {
                    int v_4 = mclForIntStart(1);
                    int i_ = 1;
                    int e_4 = mclForIntIntEnd(v_4, i_, mclVv(K, "K"));
                    if (e_4 == mclIntMin()) {
                        mlfAssign(&t, _mxarray2_);
                    } else {
                        for (; ; ) {
                            if (mclLtBool(
                                  mclIntArrayRef2(
                                    mclVv(gamag, "gamag"), v_4, v_),
                                  mclVv(right, "right"))) {
                                mclIntArrayAssign1(
                                  &poweralloctvector1, _mxarray1_, v_4);
                            } else {
                                mlfAssign(
                                  &sumsum1,
                                  mclPlus(
                                    _mxarray0_,
                                    mclMtimes(
                                      mclMrdivide(
                                        mlfLog(
                                          mclMtimes(
                                            _mxarray6_, mclVa(Pe, "Pe"))),
                                        _mxarray5_),
                                      mclMinus(
                                        mclMrdivide(
                                          _mxarray0_,
                                          mclIntArrayRef2(
                                            mclVv(gamag, "gamag"), v_4, v_)),
                                        mclVv(gama_sum, "gama_sum")))));
                                mclIntArrayAssign1(
                                  &poweralloctvector1,
                                  mclMtimes(
                                    mclVv(Saverage, "Saverage"),
                                    mclVv(sumsum1, "sumsum1")),
                                  v_4);
                            }
                            if (v_4 == e_4) {
                                break;
                            }
                            v_4 += i_;
                        }
                        mlfAssign(&t, mlfScalar(v_4));
                    }
                }
                mlfAssign(
                  &poweralloctvector1,
                  mclMrdivide(
                    mclMtimes(
                      mclVv(poweralloctvector1, "poweralloctvector1"),
                      mclMtimes(
                        mclVa(N_carrier, "N_carrier"),
                        mclVv(Saverage, "Saverage"))),
                    mclMtimes(
                      mlfSum(
                        mclVv(poweralloctvector1, "poweralloctvector1"), NULL),
                      mclMrdivide(mclVv(N, "N"), mclVv(K, "K")))));
                mclArrayAssign2(
                  &poweralloctvector,
                  mclVv(poweralloctvector1, "poweralloctvector1"),
                  mlfCreateColonIndex(),
                  mlfScalar(v_));
                if (v_ == e_) {
                    break;
                }
                ++v_;
            }
            mlfAssign(&i, mlfScalar(v_));
        }
    }
    mclValidateOutput(
      poweralloctvector,
      1,
      nargout_,
      "poweralloctvector",
      "bitandpoweralloct2");
    mclValidateOutput(
      *Cbitvector, 2, nargout_, "Cbitvector", "bitandpoweralloct2");
    mclValidateOutput(*gama, 3, nargout_, "gama", "bitandpoweralloct2");
    mxDestroyArray(K);
    mxDestroyArray(N);
    mxDestroyArray(gamag);
    mxDestroyArray(flag);
    mxDestroyArray(An);
    mxDestroyArray(pow);
    mxDestroyArray(Saverage);
    mxDestroyArray(i);
    mxDestroyArray(k);
    mxDestroyArray(right);
    mxDestroyArray(p);
    mxDestroyArray(gama_sum);
    mxDestroyArray(Cbitvector1);
    mxDestroyArray(q);
    mxDestroyArray(sum1);
    mxDestroyArray(s);
    mxDestroyArray(poweralloctvector1);
    mxDestroyArray(t);
    mxDestroyArray(sumsum1);
    mxDestroyArray(N_ofdm);
    mxDestroyArray(Pe);
    mxDestroyArray(SNR);
    mxDestroyArray(Hk);
    mxDestroyArray(groupnumber);
    mxDestroyArray(N_carrier);
    mclSetCurrentLocalFunctionTable(save_local_function_table_);
    return poweralloctvector;
    /*
     * 
     */
}

⌨️ 快捷键说明

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