اطلاعیه

Collapse
No announcement yet.

نرم افزار MATLAB

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    فایل آموزشی نرم افزار MATLAB

    سلام ..

    فایلی که در انتهای این پست ضمیمه شده؛ یک دوره ی آموزش کامل و مرحله به مرحله برای نرم افزار MATLAB هست که خیلی برای دوستانی که قصد کارکردن و انجام طرح هاشون رو با این نرم افزار دارند، میتونه مفید باشه .. مزیت این فایل آموزشی؛ استفاده از تصاویر و مثال های کاربردی هست که دوره ی آموزش رو سریع و لذت بخش میکنه .. امید که این فایل بتونه برای دوستانی که قصد یادگیری این نرم افزار رو دارند؛ سودمند باشه .. موفق و سلامت و شاد باشید ..
    فایل های پیوست شده
    دوستان! مدتی کمتر به سایت میام ..

    دیدگاه


      #17
      پاسخ : نرم افزار MATLAB

      سلام ..

      دو فایل ابتدایی که در انتهای این پست ضمیمه شدن؛ در بردارنده ی نکات خیلی مفیدی پیرامون Programming در MATLAB هستند .. یکی از اونها هم به صورت مختصر به نوشتن کدهای سریعتر در MATLAB پرداخته که جالب هست .. بعلاوه؛ یک E_Book فوق العاده مفید هم در ایــن آدرس، با نام MATLAB_Modelling_Programming_and_Simulation پلود شده هست .. امید که این فایل ها بتونن برای جمعبندی هر چه بهتر مطالب مطرح شده در این تاپیک مفید باشن .. موفق و سلامت و شاد باشید ..
      فایل های پیوست شده
      دوستان! مدتی کمتر به سایت میام ..

      دیدگاه


        #18
        پرکردن فضای بین دو نمودار

        سلام
        برای پرکردن فضای بین دو نمودار باید از چه دستوری استفاده کنیم.مثلا در حالت خیلی ساده

        کد:
        u=[1 2 3 4 5] ,
        b=[2 3 4 5];
        حالا هر دو را روی یک شکل پلات میکنیم و میخواهیم فضای بین دو نمودار پر شود.از چه دستوری؟

        با تشکر

        دیدگاه


          #19
          پاسخ : پرکردن فضای بین دو نمودار

          سلام ..

          شاید استفاده از دستور area بتونه بهتون کمک کنه .. به عنوان مثال؛ کدها و نتیجه ی اعمال اونها رو میتونید در تصاویر زیر مشاهده کنید ..


          نـتـیـجـه ی اعـمـال دسـتـورات

          و برای حالت نمونه ای که در پستتون هم به اون اشاره کردید؛ شاید دستورات و ایده ی زیر بتونن کمکتون کنن ..


          نـتـیـجـه ی اعـمـال دسـتـورات

          بعلاوه؛ دستورهای مشابه دیگه ای هم هستن که شاید مرور اونها هم مناسب باشه یکبار .. یکی از اونها fill و دیگری هم patch هست .. امید که مطالب این پست بتونن براتون مفید باشن .. پیروز باشید ..
          دوستان! مدتی کمتر به سایت میام ..

          دیدگاه


            #20
            خواندن سیگنال ورودی و نمایش اطلاعات آن در نرم افزار MATLAB

            سلام ..

            فایلی که در انتهای این پست ضمیمه هست؛ یک مجموعه ی پیاده سازی شده ی بسیار مفید در نرم افزار MATLAB و استفاده از تولباکس Data Acquisition هست .. خیلی کوتاه؛ توضیحی در مورد آنچه که این پیاده سازی انجام میده: سیگنال آنالوگ، به عنوان داده ی ورودی دریافت میشه و سپس به عنوان خروجی؛ اطلاعات سیگنال در یک گراف نمایش داده میشن .. یکی از حالت هایی که برای تعیین ورودی وجود داره؛ این هست که سیگنال ورودی رو از کارت صدا بخونیم .. برای این منطور؛ در دمو؛ ورودی رو بر روی winsound ست میکنیم .. دقت کنید که امکان این هست که این سیگنال رو از یک Device یا دستگاهی مثل یک Function Generator دریافت کنیم و بخونیم .. برای این منظور؛ اگر این دستگاه متعلق به NI یا National Instrument باشه؛ به راحتی میتونیم از درایوی (Visa) که توسط نرم افزار MATLAB پشتیبانی میشه؛ استفاده کنیم .. کافیست؛ در متغییر ورودی؛ به جای winsound از nidaq استفاده کنیم .. امــا در ابتدا لازم هست تست کنیم که چه Adaptor هایی رو MATLAB ساپورت میکنه و کدام یکی از اونها رو لازم هست که ثبت یا register کنیم .. این کار رو با دستورات زیر در نرم افزار MATLAB میتونیم انجام بدیم ..


            همونطور که در تصویر بالا مشاهده میکنیم؛ این امکان برای ما فراهم هست که از طریق نرم افزار با سه گزینه ی مختلف در ارتباط باشیم .. سیگنال ورودی ای که از کارت صدا دریافت میکنیم؛ یــا سیگنال ورودی ای که از پورت پارالل دریافت میکنیم؛ یــا سیگنال ورودی ای که از یکی از device های NI دریافت میکنیم .. اگر احتمالا هر کدام از اینها بر روی سیستم به هردلیل نمایش داده نشد؛ لازم هست که اونها رو رجیستر کنیم .. برای رجیستر کردن اینها؛ لازم هست که حتما و حتما به عنوان Administrator در سیستم Log In کنید و اگر از ویندوز 7 یا Vista استفاده میکنید؛ لازم هست که علاوه بر اون؛ نرم افزار MATLAB رو هم به عنوان Administrator اجرا کنید (Run as Administrator) .. بعد از این مرحله؛ میتونید با دستورات زیر؛ Adaptor ها رو (dll هارو) رجیستر کنید ..


            اگر در رجیستر کردن nidaq به مشکل برخوردید؛ لازم هست که نسخه ی visa ی تقریبا کلاسیک اون رو دانـلـود و بر روی سیستمتون نصب کنید (--جایگزین ورژن های قبلی کنید--) و مجددا دستورات بالا رو اجرا کنید .. پس از رجیستر کردن؛ یکبار نرم افزار رو ببندید و مجددا اون رو اجرا کنید (--به عنوان یک کاربر معمولی و نه الزاما Administrator--) و سپس میتونید از adaptor های رجیستر شده برای این تولباکس (و موارد دیگه) استفاده کنید .. در پایان؛ یک دموی مربوط به Thermometer هم در نرم افزار MATLAB ضمیمه ی این فایل هست که میتونه خیلی سودمند باشه .. امید که این مطالب بتونن براتون مفید باشن .. در انتها هم یک تصویر نمونه از اجرای دموی بالا .. موفق و سلامت و شاد باشید ..

            فایل های پیوست شده
            دوستان! مدتی کمتر به سایت میام ..

            دیدگاه


              #21
              legend - boxplot

              سلام
              چطوری میشه واسه نمودار زیر legend معرفی کرد که بتونیم نشون بدیم که هرکدوم از باکس پلاتهای روی محور x که با اعداد 1و2و3و4 مشخص شده اند، نشان دهدنده چی هستند.

              کد:
              t=[7 9 2 11;8 3 5 1;15 2 5 1; 13 11 20 6; 12 8 19 4];
              figure;
              boxplot(t);

              باتشکر

              دیدگاه


                #22
                پاسخ : legend

                سلام ..

                میتونید از دستورهای زیر در نرم افزار MATLAB استفاده کنید .. امید که بتونن کمکتون کنن .. شاد باشید و سلامت ..


                نـتـیـجـه ی اعـمـال دسـتـورات
                دوستان! مدتی کمتر به سایت میام ..

                دیدگاه


                  #23
                  پاسخ : پاسخ : legend

                  ممنون از توجه و کمکتون
                  منظور من legend بود نه label.یعنی در واقع نمیخوام روی محور x هیچ تغییری بدم.میخوام همون 1 2 3 4 باشند ولی در یک باکس جداگانه معرفی کنیم که منظور از هر کدام چیست. نمیدونم منظورمو درست رسوندم یا نه؟
                  با تشکر

                  دیدگاه


                    #24
                    پاسخ : legend - boxplot

                    سلام ..

                    برای این منظور؛ شاید بهتر باشه تا از دستورات زیر استفاده کنیم ..


                    نـتـیـجـه ی اعـمـال دسـتـورات

                    امــا شاید این نمودار؛ خیلی منظم نباشه، چرا که اون کادر بر روی بخشی از اطلاعات نمودار ما سایه انداخته و باعث ناخوانا شدن اونها شده .. ایده ای که میتونه به ما کمک کنه این هست که مکان کادرمون رو تغییر بدیم .. برای این منظور میتونیم از دستورات زیر استفاده کنیم ..


                    مختصات EastOutside رو هم میتونیم هر مکانی انتخاب کنیم .. برای مثال NorthOutside یا SouthOutside یا حتی NorthEastOutside و به همین ترتیب .. الان نمودارمون رو یک بار دیگه با هم میبینیم ..


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


                    نـتـیـجـه ی اعـمـال دسـتـورات

                    دقت کنید؛ که نامگذاری بخش های درون کادر رو لازم هست که برعکس انجام بدیم .. برای لیبل های هر بخش بر روی نمودار X ها هم میتونیم از راه حل پست قبل استفاده کنیم .. امید که این مطالب بتونن براتون مفید باشن .. موفق و سلامت و شاد باشید ..
                    دوستان! مدتی کمتر به سایت میام ..

                    دیدگاه


                      #25
                      پاسخ : legend - boxplot

                      سلام

                      فوق العاده ممنون و سپاسگزار
                      ولی اشکالی که هست اینه که من نمودارم بصورت subplot هست.یعنی یک فضای 4 در 4 دارم. (16 نمودار در یک پنجره). واسه همین دستور location که واسه مشخص شدن موقعیتشه زیاد جوابگو نیست و بازم روی داده ها قرار میگیره. ولی فکر میکنم دیگه چاره ای نیست...

                      دیدگاه


                        #26
                        پاسخ : legend - boxplot

                        سلام ..

                        میتونید با تغییر مداوم مکان؛ به نوعی از پس این مشکل هم بر بیایید .. (--البته چه بهتر اینکه نمودارهاتون دو ستونه باشن .. در این صورت همه چیز راحت تر میشه--) .. برای مثال تصویر زیر میتونه نتیجه ی پیشنهادی باشه .. موفق و سلامت و شاد باشید ..

                        دوستان! مدتی کمتر به سایت میام ..

                        دیدگاه


                          #27
                          پاسخ : نرم افزار MATLAB

                          وقتی متلبو باز میکنم اول این پیغام و میده:
                          Unknown Windows exception of type=c000001d was not caught
                          بعد این ارورو میده:
                          Microsoft visual c++ runtime
                          بعد از چند لحظه هم بسته میشه
                          چی کار کنم؟؟؟؟ :(

                          دیدگاه


                            #28
                            پاسخ : نرم افزار MATLAB

                            سلام ..

                            یکی از علت های این پیغام میتونه عدم تطابق سیستم از نظر سخت افزار با اون چیزی که نرم افزار به اون احتیاج داره؛ باشه .. جدول زیر شاید بتونه در این زمینه مفید باشه ..


                            اگه موارد بالا همگی صدق میکردن در مورد سخت افزار سیستم شما؛ میتونید نرم افزار رو در درایوی غیر از C مجددا نصب کنید (یک بار Uninstall و دوباره Install) با این امید که مشکل برطرف بشه .. در طرف دیگه؛ به 32 یا 64 بیتی بودن نرم افزار و Platform سیستمتون هم دقت کنید .. پیروز باشید ..
                            دوستان! مدتی کمتر به سایت میام ..

                            دیدگاه


                              #29
                              خواندن دیتا از پورت USB و نمایش اطلاعات آن در نرم افزار MATLAB

                              سلام ..

                              فایلی که در انتهای این پست ضمیمه هست؛ این قابلیت رو داره که اطلاعات رو از پورت USB بخونه (--برای مثال سنسوری که خروجی USB داره--) و نتایج اونها رو در Figure ای جدا نمایش بده .. دقت کنید که برای استفاده از این کد؛ نیاز به توابع و فایل های دو پست قبل هم داریم .. در نتیجه؛ هر دوی اینها رو باهم در یک پوشه قرار بدید تا بتونید از اونها به خوبی استفاده کنید .. من این کد رو برای طرحی تست کردم؛ و پاسخ خوبی گرفتم .. بعلاوه؛ یک فایل دیگه هم ضمیمه ی انتهایی این پست هست که جمعبندی خیلی خوبی در ارتباط با Data Acquisition در نرم افزار MATLAB انجام داده که میتونه امیدوارانه مفید باشه (--از اون خیلی استفاده کردم--) .. امید که مطالب این پست بتونن به جمعبندی مباحث مطرح شده در این تاپیک کمک کنن .. پیروز باشید ..
                              فایل های پیوست شده
                              دوستان! مدتی کمتر به سایت میام ..

                              دیدگاه


                                #30
                                استفاده از توابع و دستورات Python در نرم افزار MATLAB

                                سلام ..

                                در این پست قصد این رو داریم تا در مورد به کار بردن توابع Python در نرم افزار MATLAB صحبت کنیم .. برای این منظور، دو راه قابل اعتماد برای بررسی وجود دارن (--راه های دیگه ای هم هستن؛ امــا من بهشون مسلط نیستم--) که مورد استقابل و توجه کاربران هستن .. اولین روش، استفاده از تابع system در نرم افزار MATLAB هست .. روش کار هم میتونیم به این صورت تعریف کنیم .. در ابتدا دو تابع نمونه؛ یکی برای Addition و دیگری هم برای Multiplication مینویسیم در Python و سپس تلاش میکنیم که اینها رو در MATLAB فراخوانی کنیم و از نتایج اونها استفاده .. در لینوکس؛ کار خیلی ساده تر هست و خیلی معمولی میتونیم با دستور vi یک فایل text مانند ایجاد کنیم و روتین و دستورات تابع رو در اون بنویسیم؛ برای مثال: vi test.py برای ما یک فایلی ایجاد میکنه که در انتها میتونیم اونرو توسط Python فراخوانی کنیم .. نحوه ی اجرا و فراخوانی این تابع در Python هم به این صورت هست که در ترمینال لینوکس؛ دستور python test.py var_1 var_2 رو وارد میکنیم و نتیجه ی اجرای برنامه رو میتونیم به صورت خروجی مشاهده کنیم .. امــا در windows کمی مسائل فرق میکنه .. در ابتدا لازم هست که Python رو Download و سپس Install کنیم .. برای این منظور، خیلی بهتر این هست که از ورژن 2.7 استفاده کنیم؛ چرا که ورژن های 3 کمی پر پیچ و خم هست کار باهاشون و ظرافت، زمان و حوصله ی خاصی لازم دارن .. پس از اون؛ از یک ادیتور خوب لازم هست که استفاده کنیم که پیشنهادهای مورد استقبال ++Notepad و Jedit هستن .. بعد از این مرحله همه چیز آماده هست تا بتونیم یک برنامه ی Python در محیط Windows بنویسیم .. برای مثال، از تابع زیر، به عنوان نمونه ی اول استفاده میکنیم:


                                همونطور که در دستورات بالا هم مشاهده میکنیم؛ این تابع دو متغییر به عنوان آرگومان ورودی دریافت میکنه و به عنوان خروجی، جمع اونها رو منعکس میکنه .. امــا الان؛ فرض میکنیم که این قصد رو داشته باشیم که این تابع رو در MATLAB استفاده کنیم و خروجی اون رو هم در متغییری برای استفاده های بعدی ذخیره کنیم .. روش اولی که برای این کار وجود داره؛ استفاده از دستور system هست .. نحوه ی استفاده از این دستور رو میتوینم در تصویر زیر مشاهده کنیم ..


                                نکات خیلی مهمی که شاید حتما به اونها باید توجه کنیم؛ یکی این هست که فایل های Python رو (--برنامه هایی که مینویسید؛ برای مثال test.py --) در پوشه ای قرار بدیم که فایل Python.exe در اون قرار داره (--اگر به صورت تنظیمات default برنامه ی Python رو نصب کنیم در محیط Windows؛ دایرکتوری قرار گرفتن پوشه ی Python معمولا به احتمال بالای %85 چنین آدرسی هست: C:\Python27 --) .. نکته ی دوم هم در مورد نامگذاری فایل ها هست که سعی میکنیم با نام های پیش بینی شده در MATLAB یکسان نباشن ..

                                روش دوم هم استفاده از یک تکنیک کپی و جایگزینی فایل های جدید هست .. در آدرس MATLAB\R2009a\toolbox\matlab\general\.... یک m.file هست با نام perl که برای فراخوانی توابع و دستورات نوشته شده در perl در محیط MATLAB به کار میره .. کاری که لازم هست در این مرحله انجام بشه؛ ساختن یک نسخه ی کپی از این فایل هست؛ و تغییر دادن نام این کپی؛ به python و باز کردن اون و تغییر همه ی اسامی perl به python و در نهایت ذخیره کردن این m.file تازه در آدرسی مشابه .. برای اینکه شاید به این مرحله سرعت ببخشیم؛ این کار رو قبلا انجام دادم و در انتهای این پست میتونید این فایل رو دانلود کنید .. پس از دریافت این فایل؛ لازم هست اون رو در دو قسمت paste کنیم؛ اول در دایرکتوری بالا؛ که فایل perl.m هم در اونجا قرار داره و دیگری هم در آدرسی که Python.exe در اون قرار داره .. پس از این مرحله؛ همه چیز آماده هست تا با دستورات دو تصویر بعد؛ برنامه ی نوشته شده در Python رو تست کنیم، البته در محیط MATLAB .. برای اینکه مثال ها متفاوت باشن، این بار قصد این رو داریم که تابع زیر رو در MATLAB تست کنیم ..


                                همونطور که در تصویر بالا هم ملاحظه میکنیم؛ در این تابع؛ دو متغییری که به عنوان آرگومان ورودی توسط تابع دریافت میشن؛ باهم لازم هست که ضرب بشن و نتیجه ی حاصل، به عنوان خروجی منعکس بشه .. با استفاده از دستورات زیر در MATLAB صحت اجرای برنامه رو میتونیم تست کنیم:


                                نکاتی که لازم هست اینجا هم به اونها توجه کنیم؛ موارد مشابه بالا هستن .. با این دو روش میتونیم از توابع Python در نرم افزار MATLAB استفاده کنیم و نتایج و خروجی های اونها رو در مراحل بعدی، مد نظر قرار بدیم .. امید که مطالب این پست بتونن به جمعبندی مباحث مطرح شده در این تاپیک کمک کنن .. پیروز باشید ..
                                فایل های پیوست شده
                                دوستان! مدتی کمتر به سایت میام ..

                                دیدگاه

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