اطلاعیه

Collapse
No announcement yet.

پروژه های آماده Matlab

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

    #76
    پاسخ : پروژه های آماده Matlab

    نوشته اصلی توسط eehadi
    تست شده، باید جواب بده. شاید ماتریسها رو اشتباه وارد کردی. شاید هم ماتریسهای ورودی رو از هیستوری دابل کلیک کردی. اگه دستی وارد کنی یا کپی پیست کنی درست جواب میده.
    درست وارد می کنم ولی بازم جواب نمیده
    اصلا بیخیالش دیگه اعصاب واسم نزاشته :bye
    مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

    دیدگاه


      #77
      پاسخ : پروژه های آماده Matlab

      نوشته اصلی توسط سید مصطفی طبسی
      درست وارد می کنم ولی بازم جواب نمیده
      اصلا بیخیالش دیگه اعصاب واسم نزاشته :bye
      خط 15 رو اینجوری تغییر بدید...ارور به خاطر این خط هست:


      disp('A*B=C'



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

      دیدگاه


        #78
        پاسخ : پروژه های آماده Matlab

        نوشته اصلی توسط (فرشته)
        خط 15 رو اینجوری تغییر بدید...ارور به خاطر این خط هست:


        disp('A*B=C'
        نه مشکل از اون هم نیست فکر کنم از خود نرم افزار باشه
        هی خطا میده که ابعاد ماتریس باید به توافق برسند در صورتی که من ماتریس هارو درست وارد می کنم
        مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

        دیدگاه


          #79
          پاسخ : پروژه های آماده Matlab

          با سلام .

          برنامه ای رو که توی پست قبلی جناب eehadi گفتند کاملا درست هست و مشکلش هم همون بود که فرشته خانم گفتند . ولی خوب مثلا به نظرم دیگه گذاشتم تابع sum توی برنامه لزومی نداره و لازم هم نیست که از *. هم برای ضرب استفاده بشه . من یه نمونه رو براتون میزام می بینید که برنامه اشاره شده درست هست . ( البته من یه قسمت هاییش رو که دیدم لازم نیست رو برداشتم . وگرنه برنامه همون هست و مشکلی هم نداشت فقط همون موردی که اساتید اشاره کردند )

          کد PHP:
          clear;clc

          input('Enter 1st Matrix (A): ');

          input('Enter 2nd Matrix (B): ');

          [m n]=size(A);

          [
          t,r]=size(B);

          if 
          ~= t
            error
          ('1st Matrix columns numbers and 2nd Matrix row numbers must be equal')
          end

          for i=1:m
            
            
          for j=1:r
              
              c
          (i,j)=A(i,:)*B(:,j);
              
            
          end
          end

          disp
          ('A*B=')

          disp(c





          این هم یه نمونه اجراش :

          کد PHP:
          Enter 1st Matrix (A): [1 2 3;4 5 6]
          Enter 2nd Matrix (B): [0 1 2 3 1 0 2 0 0 0 1 1 ]
          A*B=
             
          2   1   9   6
             5   4  24  18 
          مصادیق اظهار محبت به همسر
          بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
          ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
          اثر قصه گویی برای کودکان

          دیدگاه


            #80
            پاسخ : پروژه های آماده Matlab

            نوشته اصلی توسط skyzare
            با سلام .

            برنامه ای رو که توی پست قبلی جناب eehadi گفتند کاملا درست هست و مشکلش هم همون بود که فرشته خانم گفتند . ولی خوب مثلا به نظرم دیگه گذاشتم تابع sum توی برنامه لزومی نداره و لازم هم نیست که از *. هم برای ضرب استفاده بشه . من یه نمونه رو براتون میزام می بینید که برنامه اشاره شده درست هست . ( البته من یه قسمت هاییش رو که دیدم لازم نیست رو برداشتم . وگرنه برنامه همون هست و مشکلی هم نداشت فقط همون موردی که اساتید اشاره کردند )

            کد PHP:
            clear;clc

            input('Enter 1st Matrix (A): ');

            input('Enter 2nd Matrix (B): ');

            [m n]=size(A);

            [
            t,r]=size(B);

            if 
            ~= t
              error
            ('1st Matrix columns numbers and 2nd Matrix row numbers must be equal')
            end

            for i=1:m
              
              
            for j=1:r
                
                c
            (i,j)=A(i,:)*B(:,j);
                
              
            end
            end

            disp
            ('A*B=')

            disp(c





            این هم یه نمونه اجراش :

            کد PHP:
            Enter 1st Matrix (A): [1 2 3;4 5 6]
            Enter 2nd Matrix (B): [0 1 2 3 1 0 2 0 0 0 1 1 ]
            A*B=
               
            2   1   9   6
               5   4  24  18 
            بارو کیند قبلا کار نمیکردو خطا میداد ولی الان جواب داد :eek:
            به هر حال خیلی سپاس از همه تون
            مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

            دیدگاه


              #81
              پاسخ : پروژه های آماده Matlab

              جناب طبسی اگر گاهی میبینید یه برنامه کاملا درست رو مطلب ارور میگیره ازش مثل همین برنامه توی command window دستور clear all رو بزنید.البته من استدلال علمی واسه این صحبت ندارم و فقط برحسب تجربه بدست اومده.
              برای من پیش اومده که چندین بار کدهایهای سنگین ران کردم و بعد این اتفاق افتاده و نهایتا با همین clear all حل شده.انگار که کلا حافظه اش فضای سیو نداشته باشه!!
              فقر ، شب را " بی غذا " سر کردن نیست ................ فقر ، روز را " بی اندیشه" سر کردن است

              دیدگاه


                #82
                پاسخ : پروژه های آماده Matlab

                نوشته اصلی توسط (فرشته)
                جناب طبسی اگر گاهی میبینید یه برنامه کاملا درست رو مطلب ارور میگیره ازش مثل همین برنامه توی command window دستور clear all رو بزنید.البته من استدلال علمی واسه این صحبت ندارم و فقط برحسب تجربه بدست اومده.
                برای من پیش اومده که چندین بار کدهایهای سنگین ران کردم و بعد این اتفاق افتاده و نهایتا با همین clear all حل شده.انگار که کلا حافظه اش فضای سیو نداشته باشه!!
                فرشته خانم من یکی از کارهایی که می کنم اصلا همینه
                قبل از اجرای برنامه همین دستوری که شما میگید همیشه میزارم بعدش F9رو میزنم
                مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

                دیدگاه


                  #83
                  پاسخ : پروژه های آماده Matlab

                  موارد خیلی کم و استثنایی پیش میاد که متلب غاطی کنه و تقریباً همیشه مشکل از کاربره، مثلاً clear کردن که بعضی وقتا مشکلو حل میکنه احتمالاً به خاطر اینه که یک متغیر با اسمی که تو برنامه موجوده از قبل در workspace موجوده ولی سایزش با سایز متغیری که تو برنامه هست فرق میکنه که ممکنه با توجه به دستوراتی که تو برنامه نوشته شده و با فرضهای کاربر (مبنی بر این که این متغیر از قبل وجود نداشته) منجر به خطا بشه.

                  خانم زارع با احترام. اون قسمت های برنامه ای که من نوشته بودم اضافی نبودن.
                  کد PHP:
                   Czeros(n,t

                  این خط که بهش Pre-allocation گفته میشه، برای افزایش سرعت برنامه هست. در کل هر وقت اندازه ماتریسی از قبل معلومه بهتره به این صورت تعریفش کنید مخصوصاً اگه تو حلقه اندازه اش تغییر میکنه.
                  کد PHP:
                   C(i,j) = sum(A(i,:) .* B(:,j)); 

                  این جا نقطه قبل از علامت ضرب و sum لازم هستن چون این برنامه قراره ضرب ماتریسها رو انجام بده، در حالی که اگه sum حذف بشه و نقطه قبل از علامت ضرب برداشته بشه، علامت * به معنای ضرب ماتریسی هست یعنی کاری که برنامه براش نوشته شده!
                  لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                  لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                  با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                  اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                  یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                  دیدگاه


                    #84
                    پاسخ : پروژه های آماده Matlab

                    نوشته اصلی توسط eehadi
                    این جا نقطه قبل از علامت ضرب و sum لازم هستن چون این برنامه قراره ضرب ماتریسها رو انجام بده، در حالی که اگه sum حذف بشه و نقطه قبل از علامت ضرب برداشته بشه، علامت * به معنای ضرب ماتریسی هست یعنی کاری که برنامه براش نوشته شده!
                    با سلام .

                    ولی توی این برنامه هیچ فرقی نداره که از کدامش استفاده کنیم . علتش هم این هست برنامه طوری هست که در هر بار که حلقه for داخلی اجرا میشه ما یه بردار سطری داریم که در یک بردار ستونی ضرب میشه . مثلا فرضا این جوری :

                    3*1

                    و

                    1*3

                    خوب قطعا حاصل این ضرب حال چه ماتریسی چه ضرب درایه در درایه ( همون *. ) قطعا یه عدد هست . پس لزومی بر استفاده از تابع sum هم نیست .

                    ==================

                    در هر صورت خیلی مهم هم نیست :mrgreen: هر دو تاش جواب میده .
                    مصادیق اظهار محبت به همسر
                    بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
                    ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
                    اثر قصه گویی برای کودکان

                    دیدگاه


                      #85
                      پاسخ : پروژه های آماده Matlab

                      سلام دوستان
                      من این پست رو یه جای دیگه هم گذاشتم، ولی تازه چشمم به این تاپیک افتاد و خیلی خوشحال شدم.
                      من یه تابع تبدیلی دارم که ماتریس های Aو B اون مشخصه. میخوام ماتریس P رو برای اون بدست بیارم تا بتونم کنترل کننده و تخمین زن اون رو طراحی کنم. (همون LوK) با متلب دارم کار میکنم و ترجیها از دستور place میخوام استفاده کنم. فقط توی همین بدست آوردن ماتریس P موندم. ممنون میشم بتونید کمک کنید.
                      ماتریس های Aو B رو میذارم



                      a=[-0.2773 0 -32.9207 9.8100 0; -0.1033 -8.5248 3.7509 0 0; 0.3650 0 -0.3139 0 0; 0 1.0000 0 0 0; 0 0 1.0000 0 0]



                      b=[-5.4324 0; 0 -28.6408; -9.4170 0; 0 0; 0 0
                      " کسی که دارای عزمی راسخ است ،جهان را مطابق میل خویش عوض می کند " .
                      گوته

                      دیدگاه


                        #86
                        پاسخ : پروژه های آماده Matlab

                        دوستان سلام مجدد
                        دوست داشتم حد اقل اگه کسی جواب سوال منو بلد نیست بگه ما نمیدونیم، نه اینکه بی محلی کنید!!
                        حالا یه سوال دیگه،
                        دستور جدا کردن سطر ها وستونهای مستقل یک ماتریس چیه؟؟؟؟
                        یه ماتریس دارم میخوام ستون های مستقلشو جدا کنم دستورشو بلد نیستم
                        این یکی رو دیگه خدایی جواب بدید)
                        ممنون
                        " کسی که دارای عزمی راسخ است ،جهان را مطابق میل خویش عوض می کند " .
                        گوته

                        دیدگاه


                          #87
                          پاسخ : پروژه های آماده Matlab

                          نوشته اصلی توسط photros
                          دوستان سلام مجدد
                          دوست داشتم حد اقل اگه کسی جواب سوال منو بلد نیست بگه ما نمیدونیم، نه اینکه بی محلی کنید!!
                          علیک سلام. مطمئن باش اگه کسی میتونست حتماً جواب میداد. راستش من خودم یکم فکر کردم ولی دیدم هیچی از کنترل یادم نمیاد :nerd: بی خیال شدم
                          اما در مورد سطرها و ستون های مستقل:
                          رتبه یک ماتریس با دستور rank به دست میاد که مساویه با تعداد سطرها(ستونها) ی مستقل.
                          فکر نمیکنم دستوری برای جدا کردن سطرها و ستونهای مستقل ماتریس باشه. مثلاً سه تا بردار زیرو در نظر بگیرین:
                          کد PHP:
                          [1 2 3]
                          [
                          2 3 4]
                          [
                          3 5 7

                          یکی از این بردارها به اون دو تای دیگه وابسته است ولی نمیشه گفت کدوم یکی به کدوم دو تا وابسته است یا کدوم دو تا مستقلند، در واقع هر دو تا شو که بگیری مستقلن، چون تعریف استقلال و وابستگی بین دو یا چند بردار تعریف میشه نمیشه گفت یک بردار مستقل هست یا نه چون باید با حداقل یک بردار دیگه مقایسه بشه. مثلاً میشه گفت بردار سوم از جمع اولی و دومی به دست آمده یا گفت بردار اول(دوم) از کم کردن بردار دوم(اول) از بردار سوم به دست آمده که هر سه تا درستن.
                          به هر حال میتونی برابر با رتبه ماتریس سطر (ستون) مستقلش رو انتخاب کنی. باید برنامه بنویسی و تنها دستور آماده هم همین دستور rank هست که میتونی استفاده کنی.
                          لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                          لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                          با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                          اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                          یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                          دیدگاه


                            #88
                            پاسخ : پروژه های آماده Matlab



                            اخ جون
                            بالاخره یکی جواب منو داد!!!!
                            ممنون. بله درست میگید، خودم به این موضوع که نمیشه این وابستگی رو تفکیک کرد فکر نکرده بودم.
                            ممنون، کمک خیلی بزرگی کردید
                            " کسی که دارای عزمی راسخ است ،جهان را مطابق میل خویش عوض می کند " .
                            گوته

                            دیدگاه


                              #89
                              پاسخ : پروژه های آماده Matlab

                              حالا یه مسئله دیگه!!!!:
                              این ارور یعنی چی؟؟؟
                              In the "place(A,B,P)" command, the vector P must have as many entries as rows in A.

                              دارم از این دستور استفاده میکنم.
                              (K=place(a,b,p
                              این دستور برای محاسبه فیدبک حالت استفاده میشه. وقتی میزنم این ارور رو میده!!!!
                              " کسی که دارای عزمی راسخ است ،جهان را مطابق میل خویش عوض می کند " .
                              گوته

                              دیدگاه


                                #90
                                پاسخ : پروژه های آماده Matlab

                                این کد قسمتی از برنامه place هست:
                                کد PHP:
                                [nx,na] = size(A);
                                [
                                n,m] = size(B);
                                P(:);
                                if 
                                na~=nx,
                                  
                                ctrlMsgUtils.error('Control:design:place1')
                                elseif nx~=n,
                                  
                                ctrlMsgUtils.error('Control:design:place2')
                                elseif length(P)~=nx,
                                  
                                ctrlMsgUtils.error('Control:design:place3')
                                elseif nx==0,
                                  
                                zeros(m,n); return
                                end 

                                همین طور که میبینید باید تعداد سطرها و ستون های A باید با هم مساوی باشند، تعدادسطرهای B و طول P هم باید همین تعداد باشه.
                                لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                                لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                                با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
                                اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
                                یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

                                دیدگاه

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