آموزش متلب (MATLAB)

هاشور زدن (رنگی کردن) بخشی از منحنی های رسم شده با استفاده از دستور fill در متلب :

با استفاده از دستور fill در متلب می توانیم بخش های دلخواهی از منحنی های رسم شده را هاشور بزنیم (رنگی کنیم) . دستور fill در واقع برای کشیدن یک چندضلعی که داخل آن با رنگ خاصی پر شده است به کار می رود اما ما از این قابلیت آن استفاده کرده و عمل هاشور زدن (رنگی کردن) بخش های دلخواه از شکل و منحنی ها را انجام خواهیم داد . ابتدا نحوه کشیدن چندضلعی با دستور fill را شرح می دهیم و سپس مثال های پیچیده تری را شرح می دهیم که در آنها بخش هایی از منحنی های رسم شده را به صورت هاشورزده (رنگی) در خواهیم آورد .

رسم یک چندضلعی با رنگ دلخواه با استفاده از دستور fill در متلب :

برای رسم یک چندضلعی با دستور fill در متلب ، باید مختصات نقاط آن چند ضلعی را بدانیم و سپس مختصات آنها را در دو بردار X و Y بنویسیم که بردار X شامل مختصات x نقاط چندضلعی و بردار Y شامل مختصات y نقاط چند ضلعی می باشد . سپس دستور fill با دریافت دو بردار X و Y ، چندضلعی را رسم خواهد کرد . به مثال زیر توجه کنید :

مثال :


clear all
close all
clc
 
X=[1 2 4 3];
Y=[5 2 3 7];
fill(X,Y,'b');
axis([0 5 1 8])

سه خط اول ، دستورات متداول برای عدم تداخل با برنامه های پیشین اجرا شده در متلب می باشند . دقت شود که با عبارت 'b' در پرانتز دستور fill مشخص کرده ایم که داخل چند ضلعی با رنگ آبی پر شود . با دستور axis نیز حدود محورهای مختصات را مشخص کرده ایم .

نتیجه :

(matlab) آموزش متلب

هاشور زدن (رنگی کردن) بخشی از یک منحنی رسم شده با دستور fill در متلب :

گاهی پیش می آید که توسط نرم افزار متلب یک منحنی را رسم می کنیم و پس از مشاهده آن نیاز داریم که بخشی از آن را به صورت هاشورزده (رنگی) درآوریم . به عنوان مثال فرض کنید با کدهای زیر یک منحنی را رسم کنیم :


clear all
close all
clc
 
x=0:0.1:2*pi;
y=sin(x);
plot(x,y)
axis([0 x(end) -2 2])

منظور از x(end) ، آخرین عنصر بردار x می باشد .

نتیجه :

(matlab) آموزش متلب

حال فرض کنید که بخواهیم بالای این منحنی را با رنگ زرد هاشور بزنیم . برای این منظور اینگونه از دستور fill استفاده خواهیم کرد :


clear all
close all
clc
 
x=0:0.1:2*pi;
y=sin(x);
plot(x,y)
 
X=[0,x,2*pi];
Y=[2,y,2];
fill(X,Y,'y');
axis([0 x(end) -2 2])

دقت شود که در تعریف دو بردار X و Y که به دستور fill داده می شوند ، از همان دو بردار x و y استفاده کرده ایم اما علاوه بر این ، به این دو بردار ، دو نقطه نیز اضافه کرده ایم . این دو نقطه را با توجه به همان شکل قبل مشخص کرده ایم ، یک نقطه همان نقطه گوشه بالا سمت چپ شکل با مختصات [x,y]=[0,2] می باشد که باید مختصات آن حتما در ابتدای بردارهای X و Y قرار داده شود و نقطه دوم همان نقطه گوشه بالا سمت راست شکل با مختصات [x,y]=[2*pi,2] می باشد که باید مختصات آن حتما در انتهای بردارهای X و Y قرار داده شود . خوب بنابراین با نقاط تعریف شده در بردارهای X و Y ، همان فضای بسته ای که می خواستیم رنگی شود را انتخاب کرده ایم .

نتیجه :

(matlab) آموزش متلب

هاشور زدن (رنگی کردن) بخش های مشترک یا غیر مشترک (هر بخش دلخواه) حاصل از رسم دو منحنی :

در برخی موارد نیاز است که بخش های مشترک یا غیر مشترک حاصل از رسم دو منحنی را هاشور بزنیم (رنگی کنیم) . پیچیدگی این مورد خیلی بیشتر از حالت یک منحنی نیست و تنها باید حواسمان باشد که بخشی را که می خواهیم هاشور بزنیم به طور درست با دو بردار X و Y تعریف کنیم . به مثال زیر توجه کنید :

مثال :

ابتدا دو منحنی را به صورت عادی رسم می کنیم :


نتیجه :

(matlab) آموزش متلب

اکنون قصد داریم بین هر دو منحنی ، برای هر x ، مقدار ماکزیمم y را مشخص کرده و نقاط ماکزیمم را با رنگ آبی نمایش دهیم و همچنین بالای این مقادیر ماکزیمم (بالای نمودار) را با رنگ زرد پر کنیم . برای این منظور کدهای زیر را می نویسیم :


clear all
close all
clc
 
hold on
x=0:0.1:2*pi;
y_1=sin(x);
plot(x,y_1,'+r')
 
y_2=0.5*x-1;
plot(x,y_2,'^g')
axis([0 x(end) -2 3])
 
L=length(x);
maximum=zeros(1,L);
for nn=1:L
    maximum(nn)=max(y_1(nn),y_2(nn));
end
 
X=[0,x,2*pi];
Y=[3,maximum,3];
fill(X,Y,'y')
 
plot(x(1:28),y_1(1:28),'+b');
plot(x(29:end),y_2(29:end),'^b');

ابتدا دو نمودار را به صورت معمولی رسم کرده ایم . دستور length تعداد عناصر بردار را مشخص می کند . سپس برداری به نام maximum تعریف کردیم که در آن برای هر x ، مقدار ماکزیمم y از بین دو مقدار مربوط به دو منحنی مشخص شده است . دستور max مقدار ماکزیمم را تعیین می کند . سپس با دستور fill بخش بالای مقادیر ماکزیمم (بالای نمودار) را با رنگ زرد پر کرده ایم . در دو خط آخر نیز با دو دستور plot ، نقاط ماکزیمم را دوباره ، اما این بار با رنگ آبی رسم کرده ایم . دو عدد 28 و 29 نوشته شده در این دو خط ، همان شماره نقاط نزدیک تلاقی دو نمودار است که آنها را از دیدن نمودارهای رسم شده متوجه شده ایم .

نتیجه :

(matlab) آموزش متلب

منبع:http://www.kelidestan.com

The Finite Element Method using MATLAB

کتاب The Finite Element Method using MATLAB

روش المان محدود با برنامه Matlab

شامل سر فصل های :

  • اشنایی با matlab
  • روشهای تقریب
  • برنامه نویسی المان محدود
  • روش مستقیم یا سیستم جرم و فنر
  • معادلات لاپلاس و پواسون
  • المانهای ایزوپارامتریک
  • خرپاها- تیر و قاب ( Beam n Frame)
  • الاستیسیته
  • ساختارهای صفحه ای
  • کنترل سازه های انعطاف پذیر

 

The finite element method (FEM) has become one of the most important and useful tools for scientists and engineers. This new book features the use of MATLAB to present introductory and advanced finite element theories and formulations.

زبان: انگلیسی

دریافت کتاب:

 معرفی نرم افزار matlab

Matlab   : 

  معرفی نرم افزار matlab:

      مطلب ( MATLAB ) یکی از زبانهای برنامه نویسی سطح بالا با تمرکز بر روی تکنیکهای محاسباتی است. این نرم افزار  محیطی  مناسب  برای  انجام  عملیاتهای  ریاضی، ایجاد  محیطهای  ویژوال  و  برنامه نویسی آسان را همزمان فراهم کرده است. در این   نرم افزار تلاش بر آن است که مسائل ریاضی و راه حلهای آنها به همان صورتیکه در ریاضیات رایج دانشگاهی وجود دارد ارائه شوند.

      این نرم افزار به صورت اختصاصی در موارد زیر کاربرد دارد:
1-    ریاضیات و محاسبات
2-   ساخت و پیاده سازی الگوریتم های ریاضی
3- جمع آوری داده ها
4- مدلسازی، شبیه سازی و تحلیل مدل
5- آنالیز، استخراج مشخصه های آماری، رسم و نمایش دیتا
6- رسم گرافهای مهندسی و علوم(منحنی های دو بعدی و سه بعدی، منحنی های آماری و . . . )
7- تولید نرم افزارهای کاربردی دارای واسط گرافیکی

نرم افزار مطلب دارای سیستمی اندرکنشی بوده که در آن تمامی داده ها به صورت آرایه های بدون تعیین بعد معین و مشخص ذخیره می شوند. این خاصیت این امکان را به شما می دهد که مسائل محاسباتی بسیاری را با استفاده از فرمولهای برداری و ماتریسی برای طیف وسیعی از داده ها بنویسید. این نحوه  برنامه نویسی  در حقیقت  کسری  از  زمانی  است  که در یک زبان سطح متوسط   غیر دینامیک چون
C و FORTRAN صرف می شود.
نام
MATLAB از حروف ابتدایی MATRIX LABORATORY  آمده  است. این  نرم افزار  در  ابتدا به  عنوان   نرم افزاری جهت انجام سریعتر عملیاتهای ماتریس و به عنوان تجمیع دو پروژه LINPACK و ETSPACK طراحی شد. امروزه نرم افزار مطلب از کتابخانه های تابعی BLAS و LAPACK در محاسبات ماتریسی خود استفاده می کند.MATLAB طیف متنوعی از کاربران را تحت پوشش قرار داده است. در محیطهای دانشگاهی از مطلب به عنوان ابزاری برای آموزش دوره های مقدماتی تا پیشرفته ریاضیات، علوم مهندسی و علوم پایه استفاده می شود. در صنایع نیز مطلب به عنوان ابزاری برای تحقیقات افزایش تولید و نیز آنالیز ریاضی مسائل درگیر در آن صنایع استفاده می شود.
شرکت
MathWorks به همراه نرم افزار MATLAB ، راه حلهای کاربردی معینی در زمینه های علوم نو را با عنوان Toolbox عرضه کرده است. آنچه در این جعبه ابزارهای کاربردی ارائه شده چنان است که کاربران را قادر می سازد ضمن استفاده از تکنولوژی محاسباتی مربوطه به یادگیری و توسعه آن نیز بپردازد، این جعبه ابزارها ، مجموعه ای از توابع مطلب ( m-file ) را شامل شده که ضمن اضافه شدن به نرم افزار مطلب محیط آن را برای حل مسائل ویژه ای از علوم جدید آماده می کند.
از حوزه های علوم جدیدی که در این جعبه ابزارها به آنها پرداخت شده می توان به جعبه ابزارهای پردازش تصویر، پردازش سیگنال،  سیستم های کنترلی، شبکه های عصبی، منطق فازی، فوریه دو بعدی
Wavelett ، شبیه سازی و . . . اشاره کرد.

      ساختار نرم افزار مطلب:

      نرم افزار MATLAB بر 5 رکن اصلی استوار است، این ارکان عبارتند از:

      1-  میز و محیط کاری نرم افزار:
این مجموعه کاربر را قادر می سازد تا با نرم افزار ارتباط موثری برقرار کند. بدین منظور نرم افزار از واسطهای گرافیکی قدرتمندی بهره می برد که از آن جمله    می توان به صفحه کار و پنجره فرمان و پنجره تاریخچه فرامین (
Command History ) ، پنجره ویرایش و رفع عیب برنامه های مطلب، آنالایزر کدهای برنامه نویسی، جستجوگر، help نرم افزار، فضای کاری متغیرهای مطلب و نیز فایلها و مسیرهای جستجو و . . . اشاره کرد.

      2-  کتابخانه توابع ریاضی:در این  نرم افزار  مجموعه  وسیعی  از  الگوریتم های  محاسباتی از   توابع  ابتدایی چون ( جمع سینوسی و کسینوسی و ریاضیات مختلط تا توابع پیچیده تر چون معکوس ماتریس، مقادیر ویژه ماتریس، توابع بسل و FFT ( تبدیل فوریه سریع ) را شامل می شود.

      3- زبان برنامه نویسی:
این  نرم افزار  دارای زبان برنامه نویسی سطح بالای آرایه ای/ماتریسی  با فرامین   کنترل برنامه،    ساخت تابع،  پذیرش ساختارهای مختلف داده ای، قابلیت دریافت ورودی/ارسال خروجی و قابلیت  برنامه نویسی شی گرا  می باشد.  برنامه نویسی در این  محیط  به  هر  دو صورت  نوشتن     برنامه های کوچک (
Small Scale ) تا برنامه های بزرگ ( Large Scale ) امکان پذیر است.

      4 - خواص گرافیکی نرم افزار: مطلب  قابلیت  نمایش بسیار آسان ماتریسها و بردارها،  دستکاری  و  چاپ  دیتای مربوطه را دارد. این  موارد  مشتمل  بر  نمایش  گرافهای دو و سه بعدی،  پردازش تصویر،  انیمیشن سازی  و ارائه تصاویر  با فرمت دلخواه  می باشد. همچنین در این نرم افزار امکان ساخت واسطهای گرافیکی وجود دارد.

      5- واسطهای با محیط بیرونی مطلب/API : مطلب امکان ارتباط دوطرفه با نرم افزارهای Fortran و C را دارد. این امکان به سه صورت در مطلب قابل استفاده است:
1-   صداکردن برنامه مطلب در برنامه های
C ( به صورت dll )
2-   استفاده از مطلب به عنوان یک موتور محاسباتی
۳-   خواندن و نوشتن  mat فایل.