امروز قراره معادلات گرمایی در فضای تک بعد رو با چند مثال بررسی کنیم. 
برای حل معادله گرما در زمان t و در فضای تک بعدی از دستور pdepe استفاده می کنیم.

فرم کلی معادله سھمی وار متلب بصورت زیر می باشد.



و ھمین طور فرم کلی شرایط مرزی بصورت زیر می باشد.



که xl نمایانگر نقطه ابتدا و xr نمایانگر نقطه انتهایی شرایط مرزی می باشد.توجه کنید که b دارای مقدار ثابت در هر دو معادله است.هر کدام از معادله های بالا را در m.file جداگانه قرار می دهیم.مقادیر s,b,c را از مقایسه معادله حاکم در مثال با فرم کلی معادله سهمیگون در متلب بدست اورده و در m.file قرار می دهیم.مقادیر p,q را نیز از مقایسه شرایط مرزی مسئله با فرم کلی شرایط مرزی تعریف شده برای متلب بدست می اوریم.و در اخر نیز شرایط کرانه ای را در m.file سوم قرار می دهیم.سپس به کمک دستور pdepe سه m.file را ترکیب کرده معادله را حل می کنیم.

:Example
معادله  اصلی بصورت:

شرایط مرزی بصورت:

 
  
و شرایط اولیه بصورت:


به ادامه مطلب مراجعه کنید...


برچسب‌ها: اموزش متلب, pdepe, حل عددی معادله حرارت پاره ای وابسته به زمان, معادله حرارت در متلب, حل معادله حرارت در متلب, معادلات با مشتقات جزیی, معادلات با مشتقات جزیی در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

اموزش متلب_ode45 5 Oct 2012 4:56 PM
در این قسمت قراره با هم چند مثال جالب رو بکمک دستور ode45 حل کنیم.تا شما دوستان با طرز استفاده از این تابع بیشتر و بهتر اشنا بشید.توجه به این نکته مهمه که ode برای حل معادلات دیفرانسیل معمولی در زمان یا مکان صفر هست.همونطور که می دونید ابتدا معادله هارو بسته به مرتبشون به معادلات مرتبه یک تبدیل می کنیم.و سپس در یک m.file ذخیره می کنیم.و بعد در یک m.file دیگه به کمک دستور ode45,ode23... معادله رو حل میکنیم.خود help متلب رو نگاه کرده باشی توضیح داده که بهتره از ode45 استفاده کنید و اگه جواب نگرفتین از دیگر توابع ode استفاده کنید.

:به عنوان اولین مثال معادلات زیر رو در نظر بگیرید




ادوارد لورنز ریاضیدان و هواشناس امریکایی,نخستین شخصی است که در مورد اشوب مقاله نوشته,زمانی که او در سال 1961 میلادی با رایانه اش به شبیه سازی اب و هوا می پرداخت,متوجه حساسیت شدید معادلات به شرایط اولیه شد.او کشف کرد که تغییرات ناچیز در پارامترهای اولیه اب و هوا منجر به الگوهای متفاوتی می شود.
در این معادلات (x(t بیانگر سرعت سیال و (y(t و (z(t نیز بیانگر ابعاد فضایی سیال هستند و P عدد پرانتل می باشد.r عدد ریلی(Rayleigh number) نام دارد و b نیز به فیزیک جسم بستگی دارد.
برگردیم به حل مسئله بکمک دستورode45 ابتدا باید این معادلات رو در یک ام.فایل ذخیره کنیم:

function dy = lorenz(t,y)
dy = zeros(3,1);
P = 10;
r = 28;
b = 8/3;
dy(1) = P*(y(2) - y(1));
dy(2) = -y(1)*y(3) + r*y(1) - y(2);
dy(3) = y(1)*y(2) - b*y(3);

شکل کلی دستور ode45 به صورت زیر می باشد:

(TOUT,YOUT] = ODE45(ODEFUN,TSPAN,Y0]

به ادامه مطلب مراجعه نمایید....


برچسب‌ها: اموزش متلب_دستورode45, دستورode45 در متلب, اموزش متلب, حل عددی معادلات دیفرانسیل در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

یا سلامی گرم خدمت دوستان عزیز.

امروز واستون یک پروژه اماده کردم در رابطه با ارتعاشات اجباری.یک نیروی متناوب به یک سیستم دو درجه ازادی وارد می شه که از ما پاسخ سیستم رو می خواد.ابتدا با استفاده از برازش منحنی (برای اموزش برازش منحنی اینجا کلیک کنید) سری فوریه حاکم بر سیستم رو بدست می اوریم.سپس معادله رو تشکیل داده و با کمک دستور ode45 معادله رو حل می کنیم.

lکه در ان m=0.25 , k=2500 , c=10 می باشد.

به ادامه مطلب مراجعه کنید...


برچسب‌ها: پاسخ واداشته سیستم با یک درجه ازادی, ارتعاشات درمتلب, پروژه ارتعاشات متلب, پروژه ارتعاشات, پروژه انجام شده ارتعاشات, پروژه ارتعاشات توسط متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

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

سیستم دو درجه ازادی زیر رو در نظر بگیرید:

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

AxGiG,عکس گیگ پایگاه آپلود عکس ویژه وبلاگنویسان

به ادامه مطلب مراجعه فرمایید...


برچسب‌ها: بررسی سیستم دو درجه ازادی و رسم مودها بکمک متلب, رسم مد, رسم مد به کمک متلب, ارتعاشات در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

 این پروژه مربوط به فرهنگسرای 5 طبقه همراه فایل کریر و نقشه های اجرایی(نقشه های مربوط به کانال ها,فن کویل ها,پشت بام,دفع فاضلاب,اطفا حریق,...) و دفترچه محاسبات(محاسبات مربوط به تهویه مطبوع,سیستم اطفا حریق و اب و فاضلاب و ...) می باشد.

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

نقشه مربوط به کانال ها:

برای کسب اطلاعات بیشتر به ادامه مطلب مراجعه نمایید....


برچسب‌ها: پروژه تاسیسات مکانیکی, پروژه کریر, پروژه تاسیسات, پکیج تاسیسات, پلان وکریر
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

سری فوریه در متلب 5 Sep 2012 10:35 AM

با سلامی دوباره.

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

سری فوریه تابع متناوب

:عبارتست از


حالا سری فوریه تابع زیر رو به کمک برنامه ای که برای دانلود گذاشتم بدست می اوریم.

به ادامه مطلب مراجعه نمایید...



برچسب‌ها: سری فوریه در متلب, سری فوریه, محاسبه سری فوریه با متلب, اموزش متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

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

حتما برای شما دوستان پیش اومده که تو برنامه هاتون بخواین نتایج رو حالا چه بصورت یک عدد ویا یک ماتریس و حتا یک کاراکتر و... رو یکجا در یک ماتریس ذخیره کنید.در سایت های مختلف دیدم که دوستان با این مشکل مواجه شدن و سوالاتی رو در این باره مطرح کردند.

با استفاده از ارایه های سلولی شما میتونید این کار رو انجام بدید.در واقع هر سلول مثل یک ظرف عمل میکنه.برای مثال یک سلول از ارایه های سلولی میتونه حاوی اعداد حقیقی , سلول دیگر حاوی یک سری رشته و سلول دیگر متشکل از اعداد مختلط باشه وبا هر اندازه ای !!!

استفاده از ارایه های سلولی میتونه راه بسیار خوبی برای جمع اوری اطلاعات در باره یک موضوع خواص باشه.زیرا تمامی اطلاعات رو می توان در یک جا جمع اوری کردو با استفاده از نام به انها دسترسی پیدا کرد.خود من از این ارایه ها در برنامه طراحی ابعاد کانال از این ویژگی استفاده کردم به این صورت که هر کدام از جداول هند بوک کریر با ابعاد مختلف داخل هر سلول ذخیره کردم و خود متلب هم خودکار از این جداول استفاده کرده.

 ارایه های سلولی رو به دو روش میشه ایجاد کرد.

روش اول با استفاده از عبارات انتسابی:

که خود شامل دو بخش میباشد:

روش Content indexing:

>> a{1,1}=[1 2;3 4];

>> a{1,2}='Mohandesaan.blogfa.com';

... به ادامه مطلب مراجعه کنید


برچسب‌ها: اموزش برنامه نویسی متلب, اموزش متلب, ارایه های سلولی در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

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

در پنجره cftool گزینه ..Exclude  رو انتخاب کنید.پنجره زیر باز میشه.

به ادامه مطلب مراجعه کنید...


برچسب‌ها: اموزش cftool
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

با سلامی دوباره خدمت شما عزیزان

امروز می خوام قطعه ای رو با استفاده از معادله Heat Transfer که قبلا قولش رو داده بودم با استفاده از pdetool مدل کنم.ابتدا در ذهنتون یک قطعه مکعبی شکل رو در نظر بگیرید.معادله دیفرانسیل مربوط رو با المان گیری بدست میاوریم و بعد این معادله رو بصورت دو بعدی تبدیل کرده و از ان در حل قطعه مورد نظر استفاده میکنیم. 

موازنه انرژی رو برای سیستم می نویسیم:

accumulation = in - out + generation - consumption

فرضیات :

-No momentum transfer

-No shaft work

-No mass transfer

-The fluid density, rho , is not functions of pressure or temperature

-he heat capacity, p Cˆ , and the thermal conductivity, k , are not functions of temperature

-The material is isotropic. The material properties, Cpˆ , k , and r, are the same at

all points within the material

با ما در ادامه مطلب همراه باشید...


برچسب‌ها: اموزش pdetool
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

با سلام خدمت شما عزیزان

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

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

برای شروع در پنجره فرمان تایپ کنید cftool پنجره زیر نمایان میشود.


به ادامه مطلب مراجعه کنید ...


برچسب‌ها: اموزش cftool
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

سلام خدمت همه دوستان عزیز.همانطور که قولش رو داده بودم میخوام شما دوستان رو با pdetoolbox که یک ابزار کارامد در حله معادلات با مشتقات جزیی محسوب میشه اشنا کنم.

با استفاده از این جعبه ابزار براحتی میتونید معادله های دیفرانسیلی رو به روش تفصیلی (نقطه به نقطه مثل توزیع فشار روی سطح یک ایرفویل یا lمحاسبه توزیع انتقال حرارت روی یک سطح)حل کنید.شاید این سوال پیش بیاد که لازمه ما این جعبه ابزار رو یاد بگیریم؟ در جواب باید بهتون بگم : بله لازمه!!!

این جعبه ابزار میتونه به هرکس با هر سطحی که داره کمک کنه چه مبتدی و چه حرفه ای.

در این پست توزیع دما در یک ورق فلزی مطابق شکل زیر به کمک pdetool بررسی میکنیم.شرایط مسئله:


معادله حاکم بصورت:

و شرایط مرزی:

_در طرف چپ شکل مقدار دما برابر u=100 (شرط مرزی دیریکله)

_در طرف راست دما با شیب du/dn=-10 تغییر میکنه(شرط مرزی نیومن)

_و تمامی سطوح باقی مانده دارای شب du/dn=0 میباشد(شرط مرزی نیومن)



به ادامه مطلب مراجعه کنید...


برچسب‌ها: اموزش pdetool
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

سیستم دو درجه ازادی زیر رو درنظر بگیرید:

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

به ادامه مطلب مراجعه کنید ...


برچسب‌ها: پاسخ واداشته سیستم با دو درجه ازادی, سیستم دو درجه ازادی, ارتعاشات, ارتعاشات در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

 در این پیت به اتفاق معادله دیفرانسیل حرکت آونگ ساده رو بکمک روش رانگ گوتای مرتبه 2 حل میکنیم.
الگوریتم این روش بصورت:

k1 =hf (t, yn)

k2 =hf (tn+h , yn+k1h)

yn+1=yn+h/2(k1+k2)

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


به ادامه مطلب مراجعه کنید ...


برچسب‌ها: حل عددی معادلات دیفرانسیل معمولی _ روش رانگ کوتا, بررسی حرکت آونگ ساده, روش رانگ کوتا2, حل عددی معادلات دیفرانسیل در متلب, ارتعاشات در متلب, پاسخ سیستم یک درجه ازادی, پاسخ سیستم یک درجه ازادی در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

در این پست میخوام همون سیستم مکانیکی جرم و فنرودمپر ساده رو اینبار به روش رانگ کوتای مرتبه 4 حل کنم

به ادامه مطلب مراجعه کنید ...


برچسب‌ها: حل عددی معادلات دیفرانسیل معمولی _ روش رانگ کوتا, حل عددی سیستم با یک درجه ازادی, پاسخ واداشته سیستم با یک درجه ازادی, روش رانگ کوتا4, حل عددی معادلات دیفرانسیل در متلب, ارتعاشات در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

طراحی کانال 29 Jul 2012 9:25 PM
برنامه طراحی یک رشته کانال,محاسبه طول Take off,انتخاب دریچه و ...

فقط در این وبلاگ.

آپلود عکس

به ادامه مطلب مراجعه کنید


برچسب‌ها: طراحی کانال بکمک متلب, طراحی کانال
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

این برنامه به مانند یک ذره بین بر روی نمودارهای رسم شده عمل می نماید. کافیست فایل 'magnify.m' را پس از رسم نمودار مورد نظر اجرا نمود. با دکمه چپ ماوس بر روی نمودار یک پنجره بزرگنمایی شده ظاهر می گردد. از کلیدهای '>' یا '<' برای بزرگ و کوچک کردن پنجره و از کلیدهای '+' و '-' نیز می توان برای بزرگنمایی جزئیات درون پنجره استفاده نمود. در نهایت با دکمه سمت راست یا کلید 'Ctrl' می توان پنجره جدید را ثابت نمود. 

این فایل از نمونه برنامه هایی می باشد که در سایت http://www.mathworks.ch/matlabcentral/ توسط کاربران نوشته شده و به اشتراک گذاشته شده است. در صورت علاقه نمونه های مفیدی از این نوع برنامه ها همراه با کد آنها در این سایت به اشتراک گذاشته شده است. 

پس از دانلود m-فایل برنامه آدرس فعال matlab را به پوشه آن تغییر داده و پس از اجرای کد زیر بر روی نمودار ایجاد شده کلیک کنید!

plot(1:100,randn(1,100),(1:300)/3,rand(1,300)), grid on
magnify

منبع: GOMATLAB.COM
برای دریافت فایل کلیک کنید


برچسب‌ها: برنامه بزرگنمایی نمودار رسم شده برای دیدن جزئیات ن
نوشته شده توسط مسعود شمس  | لینک ثابت |

ساده ترین دستور برای نمایش خروجی , دستور disp میباشد.

>> x=5;

>> disp(x)

     5 

دستور disp رشته ها رو هم قادر است نمایش دهد.

>> name='tom';

>> disp(name)

tom

با استفاده از این دستور میتوان چند متغیر را نمایش داد.اما توجه کنید که برای نمایش چند خروجی باید متغیرهارو بصورت ماتریس وارد کنیم:

>> disp(x,y)

??? Error using ==> disp

Too many input arguments.

 

>> disp([x,y])

     5     2

با استفاده از دستور disp میتوان در یک خط دستور هم عدد و هم رشته را نمایش داد.اما این نکته فراموش نشه که این دستور قادره در یک خط دستور یا عدد ویا رشته نمایش بده .برای نمایش همزمان ما باید اعداد رو به رشته تبدیل کنیم و بعد ادامه دستور رو بنویسیم.با استفاده از دستور (num2str(x میتوان اعداد رو به رشته وبلعکس تبدیل کرد.
>> a=5;
>> d=num2str(a);
>> whos a d
  Name      Size            Bytes  Class     Attributes

  a         1x1                 8  double              
  d         1x1                 2  char                
  خوب ملاحضه میکنیم که هر دو دارای دارای یک مقدار هستند اما یکی از نوع double ودیگری character (رشته کاراکتری) میباشد.پس:
>> x=5;
>> disp(['the roots is = ',num2str(x)])
the roots is = 5

به ادامه مطلب مراجعه کنید ...


برچسب‌ها: اموزش برنامه نویسی متلب, اموزش متلب, نمایش خروجی در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

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

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

>> f=inline('x^2')

f =

     Inline function:

     f(x) = x^2

>> f(2)

ans =

     4

با استفاده از دستور (argnames(f متغیر تابع معرفی و با دستور (formula(f فرمول نمایش داده میشود.

>> argnames(f)

ans = 

    'x'

>> formula(f)

ans =

        x^2

فقط توجه داشته باشید که دستورات مشتق و انتگرال و... از توابعی که بصورت inline وارد میشوند پشتیبانی نمیکند.

>> diff(f)

??? Error using ==> diff

Function 'diff' is not supported for class 'inline'.


با ما در ادامه مطلب همراه باشید ...


برچسب‌ها: اموزش برنامه نویسی متلب, اموزش متلب, تابع در متلب, تعریف تابع در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

سلام خدمت همه دوستان.

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

فهرست کتاب:

فصل اول:اطلاعات مربوط به شرایط اقلیمی

فصل دوم:فضاها

فصل سوم:سیستم های تهویه

تصاویری از کتاب را مشاهده میکنید:


فرمت کتاب PDF و حجم ان 9 مگابایت میباشد

تنها با 8000 تومان (پول یه پیتزا همراه مخلفات :)))  ) کریر رو به همراه پروژه انجام شده یاد بگیرید.

برای سفارش با شماره 1241648-0919 (مهندس مجید رحیمی)تماس حاصل فرمایید.



برچسب‌ها: جزوه اموزشی کریر همراه با پروژه انجام شده
نوشته شده توسط مسعود شمس  | لینک ثابت |

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

>> index=input('message :')

با اجرای دستور, پیغام بین دو کوتیشن در داخل پرانتز نمایش داده میشود و متلب منتظر می ماند تا کاربر عکس العمل نشان دهد

>> x=input('x=')

x=5                     

x =

     5

گاهی پیش میاد دربرنامه ای شما یک رشته متنی را به عنوان ورودی در نظر دارید.یعنی میخواهید که کاربر یک حرف یا یک جمله را وارد کند انوقت دستور بصورت زیر درمیاد:

>> yo_ch=input('Your Choice :[Y/N]','s')
Your Choice :Y

yo_ch =

     Y
ادامه اموزش قسمت سوم در ادامه مطلب...


برچسب‌ها: اموزش برنامه نویسی متلب, اموزش متلب, دریافت ورودی در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

تمامی داده ها در متلب به صورت ماتریس ذخیره میشود.حتی اعداد اسکالر به صورت یک ماتریس 1در1 ذخیره میشوند.ارایه های ماتریس هارا در متلب بین دو لامت [] تعریف میکنند

>> a=[1 2 3]

a =

     1     2     3


>> b=1:1:3

b =

     1     2     3


>> c=linspace(1,3,3)

c =

     1     2     3


نکته:دستور (linspace(a,b,n بازه[a,b] رابه n قسمت مساوی تقسیم میکند


>> d=[1:3]

d =

     1     2     3


>> e=1:3

e =

     1     2     3


تمامی دستورات ماتریسی به یک اندازه تولید کرده اند با اجرای دستور whos میتوانید متغیرهای داخل workspace را بررسی کنید.

ادامه اموزش قسمت دوم در ادامه مطلب...


برچسب‌ها: اموزش برنامه نویسی متلب, اموزش متلب, ماتریس ها در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

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

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

همزمان که این پست رو مطالعه میکنید متلب را بازکرده دستورات را اجرا کنید........حتما !!!!

به مثالهای زیر دقت کنید:

 [a=[1 2 3 4;5 6 7 8<<

=a

     1     2     3     4   

     5     6     7     8   

 (a(1,2<<

=ans

     2   

تابع کلون ":" یکی از پرکاربرد ترین توابع موجود در متلب میباشد.اگر در دستوری جای سطر یا ستونی بشیند به نوعی معنی "تمام" را میدهد,مثلا در مثال زیر تمامی ستونهای سطر اول رابرمی گرداند و در مثال دوم تمام سطرهای ستون اول را برمیگرداند.

 (:,a(1<<

=ans

     1     2     3     4   

(a(:,1<<

=ans

     1   

     5   

اموزش کامل قسمت اول در ادمه مطلب...


برچسب‌ها: اموزش برنامه نویسی متلب, اموزش متلب, تابع کلون
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

در اغلب مسایل مهندسی شما با داده هایی مواجه هستید که مجبورید معادله ای برای داده هاتون بدست بیارین.تا بتونید رفتار سیتم رو در بازه های دیگر حدس بزنید.نرم افزار متلب جعبه ابزاره فوق العاده ای در این رابطه در اختیار شما قرار داده که می تونید داده هاتون رو  با توابع مختلف فیت کنید.البته در این پست قصد ندارم این جعبه ابزار رو براتون اموزش بدم,اما فایلی رو براتون گذاشتم که حاوی کد برازش منحنی از درجهn ام می باشد.

البته pcode برنامه رو براتون گذاشتم برای داشتن برنامه اصلی میتونید اون رو سفارش بدید


:Example


  ... 3.9  3.9  2.6  2.1  1.7 1.3  0.3  0.3  0.1  0.1 ]=x<<

... 9.5  9.0  8.9  8.2  8.1 7.7  6.4  6.2  5.6  5.1      

... 12.3 12.1 11.7 11.2 11.2 11.2 10.8 10.3 10.2  9.6      

... 16.1 16.1 15.4 14.3 14.0 13.7 13.4 13.2 13.1 12.3      

;'[19.7 19.3 18.5 18.1 17.6 17.5 16.7 16.7 16.4 16.4      

      

... 1.59 1.79 1.62 1.11 0.90 0.55 0.16 0.13 0.08 0.01]=y<<

... 2.39 1.70 1.65 2.26 2.08 2.66 2.17 2.09 1.68 1.83     

... 1.56 1.32 1.57 1.62 1.30 1.91 1.96 1.65 2.02 2.08     

   ... 0.69 0.69 0.63 0.88 1.10 1.20 1.32 1.29 1.05 1.36     

;'[0.20 0.17 0.33 0.36 0.27 0.41 0.48 0.42 0.53 0.49     

     

(5,poltfit(x,y <<

:Linear model poly5     

P(x)=P6*x^5+P5*x^4+P4*x^3+P3*x^2+P2*x+P1     

P6 =  -0.000002330474949     

  P5 =  0.000148679244291     

  P4 =  -0.001647712764695     

  P3 =  -0.037736959041820     

  P2 =  0.609057727719298     

  P1 =  -0.023775516895297     


     

برای دریافت فایل کلیک کنید
برچسب‌ها: کد برازش منحنی در متلب, پروژه های اماده, محاسبات عددی در متلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

معادله سیستم جرم فنرو دمپر مقابل رو درنظر بگیرید


(m)d2x/dt2+(c)dx/dt+(k)x=(f)

x(t=0)=0 
dx/dt(t=0)=0 
به ادامه مطلب مراجعه کنید ...

برچسب‌ها: حل عددی معادلات دیفرانسیل معمولی, حل عددی معادلات دیفرانسیل معمولی _ روش اویلر, حل عددی سیستم با یک درجه ازادی, پاسخ واداشته سیستم با یک درجه ازادی, حل عددی معادلات دیفرانسیل در متلب, ارتعاشات در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

به عنوان مثال می خواهیم با استفاده از روش تیلور دستگاه معادلات غیر خطی زیر را حل کنیم:

f(x,y)=x^2+y-11

g(x,y)=x+y^2-7

x0=3.5

y0=1.5

الگوریتم روش تیلور به صورت:

x1=x0+h0

y1=y0+k0

حل به کمک برنامه :

(x,y]=taylor_method(f,g,x0,y0,i]

که  i  معرف تعداد تکرار میباشد


syms x y<<

f=x^2+y-11<<

 g=x+y^2-7<<

 (x,y]=taylor_method(f,g,3.5,1.5,2]<<

=x1

   2.967249950288328   

=y1

   2.000514515808312   


  

برای دریافت فایل کلیک کنید


Mohandesaan.Blogfa.com


برچسب‌ها: حل عددی معادلات غیر خطی _ روش taylor, محاسبات عددی در متلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

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

طراحی براساس میزان مصرف حداکثر روزانه برای کل جمعیت (Vd)و همچنین مقدار اب مصرفی برای اتش نشانی(Vfire) انجام میشود

VT=Vfire+Vd

Vd=a*Q(max/per)*per

باهم به طراحی مخزن هوایی برای شهرکی که دارای جمعیت 25000 نفر است میپردازیم: 

به عنوان مثال مقادیر مصرف در روز حداثر به ازای هرنفر نسبت به ساعات مصرف مطابق با جدول ذیل است و تاسیسات ایجاد فشار برای شهرک مذکور از ساعت 5 صبح به مدت 4 ساعت, از ساعت 11 به مدت 5 ساعت و از ساعت 18 به مدت 3 ساعت در این روز کارمیکند.می خواهیم حجم مخزن هوایی برای ذخیره اب را بدست بیاوریم.

با استفاده از برنامه حجم مخزن رو بدست می اوریم:

عملیات پمپاژ رو میتوان به دو صورت ON_OFF و یا ماتریسی وارد کرد. مثلا اگر زمان پمپاژ به صورت 2 ساعت روشن و 3 ساعت خاموش و زمان کل پمپاژ در حالت روشن 12 باشد از حالت ON_OFF استفاده میکنیم:


 tanks<<

Persons=25000

Total Pumping Time=12

1ON-OFF Pumping Method

2Matrix Pumping Method

Your Choice=1

Start time=5

Time Pump Turned ON=2

Time Pump Turned OFF=3

Hourly consumption Matrix(lit/hr/per)=V


چون ساعات پمپاژ در این مساله نظم خاصی ندارد از حالت Matrix استفاده میکنیم.پس: 

زمان کار تاسیسات ایجاد فشار (پمپاژ) رو به صورت ماتریس در می اوریم:

;[5 4 11 5 18 3]=T

مقدار مصرف روزانه را نیز به صورت ماتریس در میاوریم:

;[V=[9 14 14 10 10 10 10 20 20 20 12 12 12 12 12 7 7 7 7 3 3 3 3 3


 tanks<<

Persions=25000

Total Pumping Time=12

1ON-OFF Pumping Method

2Matrix Pumping Method

Your Choice=2

Hourly consumption Matrix(lit/hr/per)=V

Pumping Matrix=T


و جواب متلب:

V' =  21600000.000000 lit/day

که اگر این مقدار در 0.001 ضرب شود مصرف حداکثر به ازای متر مکعب در روز تبدیل میشود:

V'=21600 m3/day

حجم اب مورد نیاز برای اتشنشانی با این مقدار جمع شده(Vfire)و با تقسیم این مقدار به حجم استاندارد مخزن مورد نظر تعداد مخازن مورد نیاز بدست می اید.

زمان شروع عملیات پمپاژ نقش تعیین کننده ای در 'V دارد.درست است که کل زمان همان 12ساعت میباشد اما ممکن است مقدار 'V کم یا زیاد شود.همین مثال را با زمان شروع کار پمپاژ 6 صبح و 7صبح انجام دهید و نتیجه را مشاهده کنید.در وارد کردن مقدار مصرف در روز حداثر به ازای هرنفر(V) توجه کنید که اولین ارایه این ماتریس مربوط به زمان استارت پمپاژ باشد مثلا اگر زمان شروع ساعت 6 باشد.اولین ارایه 14 میباشد و تا اخر ادامه دارد تا ساعت 5.

مهندسان برای انجام این محاسبات از نرم افزار اکسل استفاده میکنند ,از انجا که من از هر سوژه ای برای برنامه نویسی استفاده میکنم این محاسبات رابه صورت کد برگردانده ام که امیدوارم در اینده از این برنامه ساده در انجام پروژه هاتون استفاده کنید.

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

پس با ما همراه باشید................

هیچ اثری بدون اشتباه نیست پس اگر برنامه در انجام محاسبات با مشکل مواجه است بگید تا برطرف کنم


برای در یافت فایل کلیک کنید

Pt.S.Dn

Mohandesaan.blogfa.com


برچسب‌ها: طراحی مخازن هوایی به کمک متلب, حرارت وسیالات
نوشته شده توسط مسعود شمس  | لینک ثابت |

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

(curve = fit( x, y, 'fit model

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

 ;x=-4:1:4<<

; y=x.^2<<

fitmodel تابع مدل مورد نظر برای انجام عملیات فیت میباشد.با اجرای دستور cflibhelp که مخفف curve fitting library میباشد می توانید توابع مختلف را مشاهده و نام ان را در قسمت fit model وارد کنید.

cflibhelp<<


 POLYNOMIAL MODELS

        MODELNAME             EQUATION

    Curves:

          poly1                Y = p1*x+p2

          poly2                Y = p1*x^2+p2*x+p3

          poly3                Y = p1*x^3+p2*x^2+...+p4

          ...

          poly9                Y = p1*x^9+p2*x^8+...+p10


DISTRIBUTION MODELS

        MODELNAME             EQUATION

         (weibull                Y = a*b*x^(b-1)*exp(-a*x^b 


  EXPONENTIAL MODELS

        MODELNAME             EQUATION

          (exp1                   Y = a*exp(b*x 
          (exp2                   Y = a*exp(b*x)+c*exp(d*x 
 
 POWER MODELS

        MODELNAME             EQUATION

         power1                  Y = a*x^b
         power2                  Y = a*x^b+c
.
.
.
حالا با اجرای دستور fit برای داده ها داریم:

 ('fit(x',y','poly3<<

=ans 

     Linear model Poly3   
     ans(x) = p1*x^3 + p2*x^2 + p3*x + p4   
     :(Coefficients (with 95% confidence bounds   
       (p1 = -7.092e-018  (-4.598e-017, 3.18e-017   
       (p2 =           1  (1, 1   
       (p3 = -1.502e-016  (-6.467e-016, 3.463e-016   
       (p4 =  4.489e-016  (-2.932e-016, 1.191e-015   

('plot(x,y,'o<<
hold on<<
(plot(ans<<


بعضی وقتها پیش میاد که شما میخواهید از تابع مدلی که خود در نظر دارید برای انجام عملیات فیت استفاده کنید.اینجاست که باید از دستور fittype استفاده کنید.به عنوان مثال می خواهیم تابعی چند جمله از درجه دو را به عنوان تابع مدل داشته باشیم:
('h=fittype('a*x^2+b*x+c

=h 

     :General model   
     ans(a,b,c,x) = a*x^2+b*x+c   

(fit(x',y',h

=ans

     General model    
     ans(x) = a*x^2+b*x+c    
     :(Coefficients (with 95% confidence bounds    
      (a =           1  (1, 1    
       (b =  1.443e-015  (-4.214e-016, 3.308e-015    
       (c = -3.109e-015  (-1.041e-014, 4.191e-015    

    
متلب جعبه ابزار فوق العاده ای برای انجام عملیات برازش در اختیار کاربران قرار داده که کافیست در قسمت پنجره فرمان دستور cftool رو اجراکنید.

Mohandesaan.blogfa.com


برچسب‌ها: برازش منحنی در متلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

1.پاسخ پله واحد:

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

(step(num,den

که num چند جمله موجود در صورت تابع تبدیل وden ماتریس چند جمله ای در مخرج تابع تبدیل میباشد.

به عنوان مثال داریم:

G(s)=1/s^2+0.2s+1

پس ماتریس num , den به صورت مقابل در می اید:

[num=[0 0 1

[den=[1 0.2 1

حالا دستورات زیر رو در یک ام.فایل ذخیره کرده اجرا کنید:

[num = [0 0 1

[den = [1 0.2 1

(step(num,den

grid

('(title('Unit-Step Response of G(s)=25/(sˆ2+4s+25

('xlabel('t Sec

('ylabel('Output


با ما در ادامه مطلب همراه باشید...


برچسب‌ها: رسم نمودار پاسخ سیستم به ازای ورودی های مختلف, کنترل در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

کتاب که براتون گذاشتم توسط اقای مصطفی همت ابادی نوشته شده که شامل 17فصله و برای کسایی که علاقه مند به یادگیری متلب هستند کاملا مفیده

Mostafa Hemmat abadi(Mohandesaan.blogfa.com).rar


برچسب‌ها: اموزش جامع نرم افزار متلب
نوشته شده توسط مسعود شمس  | لینک ثابت |

با استفاده از دستور (rlocus(num,den می توان نمودار مکان هندسی ریشه ها را رسم نمود,تابع تبدیل مدار باز سیستم بصورت زیر می باشد.

(G(s)H(s)=K(s+3) / s(s+1)(s2+4s+16

برای توضیحات بیشتر به ادامه مطلب مراجعه کنید


برچسب‌ها: رسم نمودارمکان هندسی ریشه ها, کنترل در متلب
ادامه مطلب
نوشته شده توسط مسعود شمس  | لینک ثابت |