loading...
وبلاگ آموزشی مهدی
mahdi بازدید : 157 جمعه 17 شهریور 1391 نظرات (0)

 

گاهی اوقات شما مجبورید یه عبارت ریاضی مثل f(x)=tan(x)*cos(x)/sqrt(x)-x^2 و یاg(x,y)=sin(x)-exp(y)*log(x-y) را در چندین جای برنامه به کار ببرید پس بهتر است که f  و یا g که یک رابطه صرفا ریاضی می باشد را به صورت تابع تعریف کنیم تا استفاده از آن راحتتر باشد. 3 راه برای این کار وجود دارد:

1- استفاده از function

2- استفاده از inline

3- استفاده از handle_function

راه اول: تابع را به صورت فانکشن می نویسید:

function out=f(x)

out= tan(x).*cos(x)./sqrt(x)-x.^2;

یا

function out=g(x,y)

out= sin(x)-exp(y).*log(x-y);

حال به راحتی می توانیم از f و g در برنامه های دیگه استفاده کنیم:

 

 

mahdi بازدید : 6235 جمعه 17 شهریور 1391 نظرات (0)

درون یابی و برون یابی در متلب

 

در این پست می خواهم درون یابی و برون یابی با متلب رو آموزش بدم.

برای فهم بیشتر با یک مثال دستورات رو توضیح می دهم. فرض کنید که ماتریسی به صورت زیر داریم:

 

           1200  5.0  0.25   1.1

data = 1400  4.1  0.23   0.8

           1500  3.2  0.22   0.3

 

فرض کنید که مثلا ستون اول این ماتریس نشان دهنده ارتفاع باشه، مثلا ستون دوم نشون دهنده دما باشه، ستون سوم معرف چگالی و ستون چهارم هم معرف فشار باشد.

پس با توجه به این تعریف می فهمیم که مثلا در ارتفاع 1200 ، دما برابر 5 و چگالی برابر 0.25 و فشار برابر 1.1 هستش. یا اینکه در جایی که فشار 0.8 هستش چگالی برابر 0.23 و یا در دمای 3.2 ارتفاع برابر 1500 می باشد.

الف- حالا فرض کنید یکی می پرسه تو ارتفاع 1420 مثلا دما چقدره؟

ب- یا اینکه مثلا اگه چگالی برابر 0.2315 باشه فشار چقدره؟

ج- یا اینکه اگه ارتفاع 1100 باشه دما چقدره؟ یا اینکه اگه ارتفاع 1600 باشه فشار چقدر میشه؟

mahdi بازدید : 780 شنبه 11 شهریور 1391 نظرات (0)

ایجاد نمودارهایی با دو محور y در Matlab 

 

حتما تا حالا نمودارهایی رو دیده اید که دارای دو محورy می باشند که هر محور y هم رنج داده های متفاوتی از محور دیگه داره. مثلا یه محور بازه بین 0 تا 1000 رو نشون میده که مثلا مربوط به متغیر ارتفاع هستش و یه محور دیگه بازه بین 0.1 تا 0.3 رو نشون می ده که مربوط به تغییرات چگالی هستش.

خب معلومه که چون بازه این دو محور خیلی خیلی با هم اختلاف دارند اگه هر دو تای ارتفاع و چگالی رو تو یه نمودار بکشیم مطمئنا تغییرات چگالی به طور واضح دیده نخواهد شد. برای این کار باید از نمودارهایی با دو محور استفاده کنیم. شاید یکی از مهمترین این نمودارها تو مهندسی نمودار فشار - دما  تو محاسبات حرارت و یا ترمودینامیک باشه.

برای فهم بیشتر ابتدا دستورات زیر رو توی command window اجرا کنید:

>>x = 0:0.01:20;

>>y1 = 200*exp(-0.05*x).*sin(x);

>>y2 = 0.8*exp(-0.5*x).*sin(10*x);

حالا می خواهیم هر دو نمودار y1 و y2 رو نسبت به xبکشیم. دستور زیر را اجرا کنید:

>>plot(x,y1,'b',x,y2,'g')
همانطور که میبینید (شکل 1) از اونجا که بازه تغییرات y1 خیلی بزرگتر از y2 هستش اصلا تغییرات y2 در این شکل دیده نمیشه و برای مثال شما نمیتونید همچین شکلی رو توی پایان نامه یا مقاله قرار دهید.
پس بهتر است که از یک نمودار با دو محور y استفاده کنیم که در یک محور نمودار y1 و در دیگری y2 را رسم کنیم. دستور نمودارهای دو محوره در متلب plotyy می باشد. دستور زیر را اجرا نمائید:

>> plotyy(x,y1,x,y2)

همانطور که دیده می شود (شکل 2) نموداری با دو محور y برای ما رسم می شود که در محور سمت چپ نمودار اولی یعنی y1 بر حسب x و در محور سمت راست نمودار دومی یعنی y2 بر حسب x رسم شده است. در این عکس می توان تغییرات y2 را به وضوح مشاهده نمود.

در رابطه به نمودار های دو محوره چندین بحث وجود دارد که باید به آنها اشاره کنیم:

1- چگونه یک محور و یا هر دو محور y و یا محور x را لگاریتمی کنیم؟

جواب: همانطور که می دانیم در نمودارهای دو بعدی نوع محورها می توانند خطی و یا لگاریتمی باشند.

در نمودارهای دو بعدی هم هر یک از محورها می توانند لگاریتمی و یا خطی باشند.

mahdi بازدید : 93 شنبه 11 شهریور 1391 نظرات (0)

 ایجاد بردار و ماتریس در Matlab

 


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

در این پست می خوام نحوه ایجاد بردارها و ماتریس ها و توابع مخصوص به ماتریس ها رو بهتون آموزش بدم. امیدوارم که بپسندین!

 

نحوه ایجاد بردار:

راه اول: یک زمانی اعضای بردار رو خودتون دستی می خواهید وارد کنید. مثلا یه بردار سرعت دارید که اعضای اون 20 و 25 و 30 می باشد. برای این کار این اعداد را با یک فاصله و بین دو علامت [ ] قرار می دهید:

>>velocity=[20  25  30]

با این کار بردار سرعت با سایز 1x3 برای شما ایجاد می گردد.

mahdi بازدید : 151 جمعه 10 شهریور 1391 نظرات (1)

توابع مخصوص گرد کردن اعداد در matlab

 

 

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

1. fix(x)

دستور fix قسمت اعشاری عدد x را حذف می کند.

fix(-2.5) = -2

fix(1.05) = 1

 

2. round(x)

دستور round عدد x را به نزدیکترین عدد صحیح به خودش گرد می کند.

round(5.7) = 6

round(5.5) = 6

round(-3.8) = -4

round(-5.5) = -6

تعداد صفحات : 2

اطلاعات کاربری
  • فراموشی رمز عبور؟
  • نظرسنجی
    بیشترین استفاده‌ای که از تلفن همراه‌تان می‌کنید مربوط به چه کاری است؟
    آمار سایت
  • کل مطالب : 1017
  • کل نظرات : 88
  • افراد آنلاین : 3
  • تعداد اعضا : 0
  • آی پی امروز : 64
  • آی پی دیروز : 77
  • بازدید امروز : 77
  • باردید دیروز : 581
  • گوگل امروز : 0
  • گوگل دیروز : 2
  • بازدید هفته : 2,316
  • بازدید ماه : 2,135
  • بازدید سال : 27,188
  • بازدید کلی : 421,212
  • کدهای اختصاصی