اطلاعیه

Collapse
No announcement yet.

چندتا error تو برنامه نویسی متلب

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    چندتا error تو برنامه نویسی متلب

    سلام
    من چند تا error دارم تو برنامه نویسی ام کسی می تونه راهنمایی کنه

    و بیشتر ام فایل های من error هایی گوشه سمت راست با خط نارنجی مشخص شده ایا اینها ارور یا warning هستش یعنی این خط برنامه رو می خونه فقط جنبه هشداری داره یا اصلا نمی خونش مثل پیغام زیر
    might be unused در صورتی که اون کارکتر جای دیگه استفاده شده توابع کار میکنند یعنی اینا warning هستن ولی چرا بی معنی هستن؟


    تو این جهان 7 میلیاردی من معنی ندارد و اگه تو این دنیا فقط 1 نفر وجود داشت باز هم من معنی نداشت

    #2
    پاسخ : چندتا error تو برنامه نویسی متلب

    سلام

    منظورتون از اینکه چندتا ارور دارین در برنامه همین وارنینگ ها بود؟

    اونی که نارنجی میشه تو ام فایل وارنینگ هست.اما اتفاق مشابه چیزی که شما گفتید ( might be unused) واسه منم افتاده...اون خط یا خطوط برنامه از لحاظ برنامه نویسی مشکلی نداشتن ولی توی الگوریتمش مشکلی بوده که از تمام خطوط برنامه استفاده نمیشده و بعضی خطوط بود و نبودشون در برنامه بی تاثیر بوده! شاید مشکل شما هم از این دست باشه!

    فقر ، شب را " بی غذا " سر کردن نیست ................ فقر ، روز را " بی اندیشه" سر کردن است

    دیدگاه


      #3
      پاسخ :error تو برنامه نویسی متلب

      نوشته اصلی توسط (فرشته)
      سلام

      منظورتون از اینکه چندتا ارور دارین در برنامه همین وارنینگ ها بود؟

      اونی که نارنجی میشه تو ام فایل وارنینگ هست.اما اتفاق مشابه چیزی که شما گفتید ( might be unused) واسه منم افتاده...اون خط یا خطوط برنامه از لحاظ برنامه نویسی مشکلی نداشتن ولی توی الگوریتمش مشکلی بوده که از تمام خطوط برنامه استفاده نمیشده و بعضی خطوط بود و نبودشون در برنامه بی تاثیر بوده! شاید مشکل شما هم از این دست باشه!
      سوالم رو Edit کرده بودم چونError هام درست شد
      ولی پاسخ دوم شما دقیقا همینه حالا باید بازم ببینم که بود و نبودش چه قدر تاثیر داره.
      حالا که پاسخ دادید از این چیزی سر در میادرید
      codestream=[]
      for i=1:length(codestream)
      if codestream(i)==0
      codestream(i)=127; =====>>>اینجا
      elseif codestream(i)==1
      codestream(i)=129;======>>>اینجا
      end
      end
      جاهایی که مشخص کردم می گفت به دلیل سرعت حلقه مشکل داره............ فقط جاهایی که مقدار گرفته (127و129) اشاره به اینکه نمی تونه مقدار بگیر یا یه چیز تو این مایه ها(Warning)
      اصلا یه ارایه تو متلب که یالا تغریف کردم چه مقدار جا می گیره ؟255؟در صورتی که مشخص نکرده باشیم
      تو این جهان 7 میلیاردی من معنی ندارد و اگه تو این دنیا فقط 1 نفر وجود داشت باز هم من معنی نداشت

      دیدگاه


        #4
        پاسخ :error تو برنامه نویسی متلب

        نوشته اصلی توسط sey22
        سوالم رو Edit کرده بودم چونError هام درست شد
        ولی پاسخ دوم شما دقیقا همینه حالا باید بازم ببینم که بود و نبودش چه قدر تاثیر داره.
        حالا که پاسخ دادید از این چیزی سر در میادرید
        codestream=[]
        for i=1:length(codestream)
        if codestream(i)==0
        codestream(i)=127; =====>>>اینجا
        elseif codestream(i)==1
        codestream(i)=129;======>>>اینجا
        end
        end
        جاهایی که مشخص کردم می گفت به دلیل سرعت حلقه مشکل داره............ فقط جاهایی که مقدار گرفته (127و129) اشاره به اینکه نمی تونه مقدار بگیر یا یه چیز تو این مایه ها(Warning)
        اصلا یه ارایه تو متلب که بالا تعریف کردم چه مقدار جا می گیره ؟255؟در صورتی که مقدارشو مشخص نکرده باشیم
        تو این جهان 7 میلیاردی من معنی ندارد و اگه تو این دنیا فقط 1 نفر وجود داشت باز هم من معنی نداشت

        دیدگاه


          #5
          پاسخ : چندتا error تو برنامه نویسی متلب

          نوشته اصلی توسط sey22
          سوالم رو Edit کرده بودم چونError هام درست شد
          ولی پاسخ دوم شما دقیقا همینه حالا باید بازم ببینم که بود و نبودش چه قدر تاثیر داره.
          حالا که پاسخ دادید از این چیزی سر در میادرید
          codestream=[]
          for i=1:length(codestream)
          if codestream(i)==0
          codestream(i)=127; =====>>>اینجا
          elseif codestream(i)==1
          codestream(i)=129;======>>>اینجا
          end
          end
          جاهایی که مشخص کردم می گفت به دلیل سرعت حلقه مشکل داره............ فقط جاهایی که مقدار گرفته (127و129) اشاره به اینکه نمی تونه مقدار بگیر یا یه چیز تو این مایه ها(Warning)
          اصلا یه ارایه تو متلب که یالا تغریف کردم چه مقدار جا می گیره ؟255؟در صورتی که مشخص نکرده باشیم
          ارایه خیلی بیشتر از 255 تا درش جای میگیره!نمیدونم چه عددی بدم! ولی شک نکنید خیلی خیلی بیش از این حرفهاست...و یه ماتریس با فرضا 2000 یا 3000 تا درایه چیزی نیست واسه متلب که بخواد ایراد سرعت بگیره!

          کل ام فایل رو میذارید اینجا تا ران کنم؟
          فقر ، شب را " بی غذا " سر کردن نیست ................ فقر ، روز را " بی اندیشه" سر کردن است

          دیدگاه


            #6
            پاسخ : چندتا error تو برنامه نویسی متلب

            نزدیک 35 تا mفابله بزارم؟چون به هم ربط دارن.اگه بخوام بزارم چه جوری بزارم غیر از 4shared راه بگو اگه نه که این فقط فایل اصلی که این متغییر فقط تو این m فایل تعریف و استفاده شده
            function codec(speech)

            tic
            L=floor(length(speech)/80);
            codestream=[];
            QuanJuValue(speech);
            present_speech=zeros(1,80);
            new_speech=zeros(1,80);
            total_speech=zeros(1,240);
            old_wsp=zeros(1,160);%(-143:0)old_exc=zeros(1,160);%(-143:0)
            inmapa=[5, 1, 4, 7, 3, 0, 6, 2];
            inmapb=[4, 6, 0, 2,12,14, 8,10,15,11, 9,13, 7, 3, 1, 5];

            for i=1:L
            new_speech=round(speech(80*(i-1)+1:80*i)*2^15);
            new_speech=round(Pre_Process(new_speech));¡
            total_speech=[total_speech(81:end),new_speech];
            present_speech=total_speech(121:200);%µ±Ç°±à& #194;ëÖ¡ÓïÒô£¬80 speech samples
            %round(total_speech*2^15)
            %frame=i-1
            [L0code,L1code,L2code,L3code]=LpAnalysis(total_speech);

            [Top,wsp,exc]=Pitch_Open_Loop(total_speech,old_wsp);
            %Top

            % /* Range for closed loop pitch search in 1st subframe */
            tmin=Top-3;
            if tmin<20
            tmin=20;
            end
            tmax=tmin+6;
            if tmax>143
            tmax=143;
            tmin=tmax-6;
            end

            %/*------------------------------------------------------------------------*
            %* Loop for every subframe in the analysis frame *
            %*------------------------------------------------------------------------*
            %* To find the pitch and innovation parameters. The subframe size is *
            %* L_SUBFR and the loop is repeated 2 times. *
            %* - find the weighted LPC coefficients *
            %* - find the LPC residual signal res[] *
            %* - compute the target signal for pitch search *
            %* - compute impulse response of weighted synthesis filter (h1[]) *
            %* - find the closed-loop pitch parameters *
            %* - encode the pitch delay *
            %* - find target vector for codebook search *
            %* - codebook search *
            %* - VQ of pitch and codebook gains *
            %* - update states of weighting filter *
            %*------------------------------------------------------------------------*/
            for subframe=1:2
            if subframe==1%µÚÒ»×ÓÖ¡

            [Xn2,Gp,Vn,Yn,tmin,tmax,T0,h,Xn,P1,P0]=ClosedLoopPitchSearch(Top,'one',exc,old _exc,tmin,tmax);

            % /*-----------------------------------------------------*
            % * - Innovative codebook search. *
            % *-----------------------------------------------------*/
            [position,s,jx,S1,C1,zn,cod]=ACELP_Code_A(Xn2,h,T0,'one'


            % /*-----------------------------------------------------*
            % * - Quantization of gains. *
            % *-----------------------------------------------------*/
            [ga,gb,gp,gc]=Qua_gain(Xn,Yn,zn,cod);
            %ga
            %pause
            GA1=dec_bin(inmapa(ga),3);%GA1=bin2dec(GA1());
            GB1=dec_bin(inmapb(gb),4);%GB1=bin2dec(GB1());

            % /*------------------------------------------------------*
            % * - Find the total excitation *
            % * - update filters memories for finding the target *
            % * vector in the next subframe *
            % *------------------------------------------------------*/

            exc(1:40)=Memory_update(gp,gc,Vn,cod,Xn,Yn,zn);




            %round(exc&#039
            [Xn2,Gp,Vn,Yn,tmin,tmax,T0,h,Xn,P2]=ClosedLoopPitchSearch(Top,'two',exc,old _exc,tmin,tmax);


            % /*-----------------------------------------------------*
            % * - Innovative codebook search. *
            % *-----------------------------------------------------*/
            [position,s,jx,S2,C2,zn,cod]=ACELP_Code_A(Xn2,h,T0,'two'


            % /*-----------------------------------------------------*
            % * - Quantization of gains. *
            % *-----------------------------------------------------*/
            [ga,gb,gp,gc]=Qua_gain(Xn,Yn,zn,cod);
            GA2=dec_bin(inmapa(ga),3);%GA2=bin2dec(GA2();
            GB2=dec_bin(inmapb(gb),4);%GB2=bin2dec(GB2();


            % /*------------------------------------------------------*
            % * - Find the total excitation *
            % * - update filters memories for finding the target *
            % * vector in the next subframe *
            % *------------------------------------------------------*/
            exc(41:end)=Memory_update(gp,gc,Vn,cod,Xn,Yn,zn);



            end
            %exc...
            end


            % /*--------------------------------------------------*
            %* Update signal for next frame. *
            %* -> shift to the left by L_FRAME: *
            %* speech[], wsp[] and exc[] *
            %*--------------------------------------------------*/
            old_wsp=[old_wsp(81:end),wsp];
            old_exc=[old_exc(81:end),exc];

            %codestream=[codestream;L0code,L1code,L2code,L3code,P1,P0,C1,S1 ,GA1,GB1,P2,C2,S2,GA2,GB2];
            codestream=[codestream,27425,80,L0code,L1code,L2code,L3code,P1 ,P0,C1,S1,GA1,GB1,P2,C2,S2,GA2,GB2];
            end

            for i=1:length(codestream)
            if codestream(i)==0
            codestream(i)=127;
            elseif codestream(i)==1
            codestream(i)=129;
            end
            end
            fid=fopen('123.bit','w'
            count=fwrite(fid,codestream,'int16'
            fclose(fid);
            toc
            تو این جهان 7 میلیاردی من معنی ندارد و اگه تو این دنیا فقط 1 نفر وجود داشت باز هم من معنی نداشت

            دیدگاه


              #7
              پاسخ : چندتا error تو برنامه نویسی متلب

              نوشته اصلی توسط sey22
              codestream=[]
              for i=1:length(codestream)
              if codestream(i)==0
              codestream(i)=127; =====>>>اینجا
              elseif codestream(i)==1
              codestream(i)=129;======>>>اینجا
              end
              end
              جاهایی که مشخص کردم می گفت به دلیل سرعت حلقه مشکل داره............ فقط جاهایی که مقدار گرفته (127و129) اشاره به اینکه نمی تونه مقدار بگیر یا یه چیز تو این مایه ها(Warning)
              خب چون گفتین برنامه چندین ام فایل مرتبط هست یه کد مشابه اینی که اینجا گذاشتین نوشتم و ران کردم ببینم این مشکل سرعت که میگید به وجود اومده از کجاست!
              برنامه رو با ماتریس های مختلف تست کردم...ماتریس 2 درایه ای تا 1000000 درایه ای که همشون جواب دادن بدون هیچ مشکلی!

              C=ones(1,1000000);
              for i=1:length(C)
              if C(i)==0
              C(i)=127;
              elseif C(i)==1
              C(i)=129;
              end
              end

              C

              پس مشکل و اروری که میگه از این بخش نیست...به نظرم کدهای دیگه رو هم چک کنید و تکه تکه برنامه رو تست کنید.
              برنامه ای رو هم که گذاشتین سعی میکنم بخونم ببینم به نکته ای میرسم یا نه.

              موفق باشید.
              فقر ، شب را " بی غذا " سر کردن نیست ................ فقر ، روز را " بی اندیشه" سر کردن است

              دیدگاه


                #8
                پاسخ : چندتا error تو برنامه نویسی متلب

                اره مشکل از اون نی از اینه که این ارایه یه جایی یه مقداری می گیره که حالا اونجا ارور نشون میده به تنهایی همون for رو امتحان کرده بودم
                تو این جهان 7 میلیاردی من معنی ندارد و اگه تو این دنیا فقط 1 نفر وجود داشت باز هم من معنی نداشت

                دیدگاه

                لطفا صبر کنید...
                X