رفتن به مطلب

ارسال های توصیه شده

ْسلام دوستان

در این تاپیک قصد دارم، داریم به آموزش مقدماتی این برنامه - matlab - بپردازیم

در مرحله اول بصورت مقدماتی این مهم رو انجام می‌دیم و سپس در آینده‌ای نزدیک سعی در پیشرفته شدن اون داریم

 

این پست، تنها استارت و شروع این موضوع بود تا بتونیم به کمک هم این مهم رو ادامه بدیم

 

لازم به ذکر هستش که این نرم افزار، از نرم افزارهای مهم هستش و یادگیری اون از نظر من به شدت ضروری هستش

 

با آرزوی موفقیت برای تمام دوستان

 

پ.ن: جا داره که از دوست خوبم تشکر کنم ( مدیریت تالار مهندسی شیمی :wubpink: )

 

attachment.php?attachmentid=663&stc=1&d=1275380207

لینک به دیدگاه

با سلام

از امروز سعی می‌کنم که هر روز یه سر بزنم و گام به گام با هم برای آموزش پیش بریم

 

در مرحله اول از کتاب essential matlab for engineering استفاده می‌کنم و بعد از تموم شدنش سراغ یه کتاب دیگه می‌ریم

همونطور که از اسمش پیداست مطالب مهم رو گفته و برای آموزش متوسطه مفیده

 

از همین الان شروع می‌کنیم

لینک به دیدگاه

ممنون می‌شم که این PDF رو دانلود کنید، چندی پیش اون رو در سایت مهندسان قرار دادم و به همین دلیل پس زمینه اون رو داره، پس لطفن اینجانب رو به دلیل این مهم ببخشین

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
==> در اینجا به طور خیلی خلاصه در مورد این برنامه گفته شده و شما رو با برنامه متلب آشنا کرده و گفته که کاربردش چیه ( به طور مختصر )

 

به ادامه بحث می‌پردازیم

در آموزش ابتدایی شما رو با این برنامه آشنا می‌کنیم و دستورات خیلی خیلی ساده‌ای رو وارد می‌کنیم ( فرض کردیم که در این تاپیک افرادی حضور پیدا می‌کنن که برای اولین بار برنامه matlab رو اجرا می‌کنند )

 

بعد از اجرای برنامه matlab، در قسمت command window، شما قادر به وارد کردن دستورات خود هستید

 

خوب همه‌ی شما تا الان با علم حساب آشنایی پیدا کردین، با ماشین حساب یا روی کاغذ یا در ذهن فرمول‌هایی رو حل کردین و جواب‌هایی بدست آوردین، حال این رو در برنامه matlab‌ تجربه می‌کنیم

در command window دستورات خیلی ساده رو وارد کنید

مثال:

 


>> 5+3 <Enter>
>> 5-3 <Enter>
>> 5^3 <Enter>
>> 5*3 <Enter>
>> 6/3 <Enter>
>> 6\3 <Enter>
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

علامت نقطه قبل از *،/ و ^ قرار می‌گیرد و در این مثال، در واقع تغییری در نتایج ایجاد نمی‌کنه، چون یه واحد بیشتر نداریم، ولی در آینده که آرایه داشتیم، متوجه تفاوت‌ها می‌شین

 

در مثال‌های بالا با علامت

--

حال به قسمت بعد می‌ریم

امتحان کنید ...




>> a=7 <Enter>
>> b=3<Enter>
>> c=a+b <Enter>


برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

اگر دوست داشتید مقدار a رو به نمایش بگذارید، کافیست a رو تایپ کنید و سپس enter بزنید

 

توجه داشته باشید که مقدار a تا زمانی 7 باقی می‌مونه که شما اون رو تغییر نداده باشید

 

 

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

:mornincoffee:

 

لینک به دیدگاه

به ادامه بحث می‌پردازم

--

برنامه matlab دستورات عمومی ریاضی رو داره و شما نیاز به برنامه‌نویسی برای اون‌ها ندارین

مانند log به معنی لگاریتم طبیعی، و sin و cos و غیره که در آینده در مورد آنها بحث می‌کنیم

برای مثال می‌تونید در command window محاسباتتون رو انجام بدین

 

اگر در command window دستور pi رو وارد کنید، برای شما حاصلی رو نشون می‌ده که بارها و بارها در ریاضیات با اون سر و کار داشته باشید، حاصل عبارت است از 3.14 با نمایشی بیشتر

 

و اگر از دستور sqrt استفاده کنید، برای شما جذر می‌گیرد ( این دستور رو قبلنا در زبان‌های دیگه هم مورد استفاده قرار دادید )، Try that

 


>> sqrt (4) <Enter>
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

رو در متلب بخواهین، برای شما به صورت رادیان نمایش می‌ده که برای تبدیل اون به درجه، بایستی در pi/180 ضرب کنید، به این صورت

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

و اما دستور

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

که شما به وفور در مباحث درسی باهاش برخورد کردین، خوب امتحان کنین ببینین به چه نتایجی می‌رسید، می‌تونید به جای x مقدار بزارید یا اینکه x رو قبلن تعریف کرده باشید

 

خوب متوجه شدید که عبارت "pi" و یا امثالهم که در برنامه matlab از پیش تعریف شده‌اند، اگر برای اونها مقادیری تعریف کنیم، مقدار اولیه خود رو از دست می‌دهند

برای مثال می‌تونیم بنویسیم pi=4 و از این به بعد مقدار pi برابر 4 میشه

ولی برای اینکه این عبارت پاک بشه بایستی از عبارت clear استفاده کنید

 


>> clear pi
>> clear
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

( تا اینجا رو داشته باشید، و سعی کنید به خوبی این بخش رو تمرین کنید، فردا با توضیحات بیشتر میام ):wubpink:

لینک به دیدگاه

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

این یک بردار خطی هستش، مابین : نیازی به گذاشتن فاصله نیست، حال با تایپ E‌ در خط بعد، می‌تونید حاصل رو ببینید و نتیجه رو برای خودتون یادداشت کنید، مقدار افزایش در این صورت یک واحد هستش

حال اگر بخواهید مقدار افزایشی یا کاهشی رو تغییر بدین به صورت زیر عمل می‌کنید


>> y=0:-0.5:5; <Enter>
>> x=0:0.5:5; <Enter>
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

برای اینکه نتیجه رو مشاهده کنید کافیست و تنها کافیست که هر کدام از داده‌ها رو وارد کرده و enter بزنید تا نتیجه حاصله رو ببینید

y عدد 2 رو در هر یک از اعداد x ضرب کرده، و w هر یک از داده‌های y رو روی همان داده ( در سطر و ستون یکسان ) از x، تقسیم کرده ( حال پی به کاربرد مهم " . " بردین؟ اگه نه بعدن متوجه خواهید شد )

z رو هم من باید بگم؟ خوب نتیجه رو یادداشت کنید

 

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


>> x=0:0.1:10; <Enter>
>> z=sin(x); <Enter>
>> plot(x,z),grid <Enter>
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

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

 

اما یه سری نمودارها هست که ما با اونها سروکار داریم و اونها رو در ریاضیات به طور گسترده دیدم، مانند sinx یا tanx و غیره

اونها در برنامه matlab هم موجوده و ما می‌تونیم براحتی با دستور ezplot رسمشون کنیم

 


>> ezplot('sin(x)') <Enter>
>> ezplot('tan(x)') <Enter>
>> ezplot('x') <Enter>
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

result:

A= 2 , 1

 

به این معنی که x=2 & y=1

نکته: حروف بزرگ و کوچک در برنامه با هم متفاوت هستند

نکته: بین اعدا ماتریس حتمن فاصله بگذارید، و علامت " ; " بعد از پایان هر سطر بکار می‌رود و بعد از آن به سطر بعدی خواهیم رفت، بجای این علامت می‌توانید از Enter استفاده کنیم

 

روش حل دیگر استفاده از دستور solve هستش که این دستور محدودیت‌هایی رو نیز به دنبال داره ( این محدودیت‌ها در برنامه‌های پیچیده‌تر به نمایش گذاشته می‌شه ولی در اینجا برای نمونه اون رو به نمایش می‌گذاریم )

 


[x,y]=solve('x+2*y=4','2*x-y=3')
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

علامت % درصد هیچ‌گونه تغییری در دستورات به وجود نمی‌اورد و تنها برای تعاریف بکار می‌رود، در برنامه matlab پس از استفاده از این علامت، رنگ نوشته‌ی شما تغییر خواهد کرد

:mornincoffee:

لینک به دیدگاه

شما می‌خواهید این برنامه رو بخوبی یاد بگیرین؟ خوب باید به صورت روزمره ازش استفاده کنید

شما الگوریتمی در درس ترمو می‌بینید، اون رو در اینجا رواج بدین و سعی کنین با این برنامه حلش کنین

 


>> edit <Enter>
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

اگر این محاسبات رو در command window قرار بدین ( با استفاده از دستور کپی )، نتیجه محاسبات رو خواهید دید!

دستور جدیدی مشاهده کردید، disp

برای اینکه نحوه‌ی استفاده از این دستور و دستور help رو همزمان یاد بگیرید اینگونه عمل می‌کنیم


>> help disp <Enter>
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

نتیجه به صورت بالا نمایش داده می‌شه و توضیحات اون نیز داده شده، هر چند در خود مثال براحتی پی بردید که دستور disp چگونه کار می‌کنه

 

حال برای این ساعت تموم می‌کنیم آموزش رو

قصد خروج از برنامه رو داریم

قبلن پی بردین که clear و clc چگونه عمل می‌کنند

و این رو نیز بدونید که با وارد کردن دستور quit‌ یا exit برنامه بسته می‌شه

پس وارد می‌کنیم


>>clear <enter>
>>clc <enter>
>>quit <enter>

 

پ.ن: تا کنون هیچ برنامه‌ای رو save نکرده‌ایم

لینک به دیدگاه

>> متلب بر اساس ماتریس پایه گزاری شده است، پس یادگیری دقیق ماتریس‌ها لزومیست

 

>> برای استفاده از متلب کافیست عبارات و دستورات رو در command‌ window تایپ و سپس بلافاصله اجرا خواهند شد

 

>> quit OR exit باعث بسته شدن نرم‌افزار می‌شوند

 

>> با وارد کردن clc بخش command window رو پاک خواهید کرد

 

>> برای استفاده بهتر از دستورات، دستور help به شما کمک شایانی خواهند کرد

 

>> دستور plot یک گراف دو بعدی x و y رو در بخش figure window به نمایش خواهد گذاشت

 

>> با استفاده از دستور grid می‌تونید صفحه نمایش رو شطرنجی کنید ( در figure window )

 

------

 

در اینجا بخش introduction به پایان رسید، خسته نباشید :wubpink:

لینک به دیدگاه

از اسم MATLAB شروع می‌کنیم

MATLAB ==> MATrix LABoratory

 

بخش‌هایی که در این دوره گفته می‌شه

- متغیرها

- بردارها و ماتریس‌ها

- ورودی و خروجی‌ها

- حلقه‌ها با استفاده از دستور for

- شرط if

 

****

variables

- شامل تمامی حروف و اعداد همراه با underscore ( _ )

- حتمن بایستی با یک حرف الفبا شروع شود

 

نکته: بزرگ و کوچک بودن حروف با هم متفاوت هستند

پ.ن: توجه داشته باشید که برنامه متلب به طور پیش‌فرض متغیرهایی رو اختیار کرده، از اون متغیرها استفاده نکنید و اگر استفاده کردید، می‌تونید با استفاده از دستور clear اونها رو پاک کنید

 

دستور who : این دستور تمامی متغیرهایی رو که تا کنون وارد کردین به نمایش می‌گذاره

 

Array: vectors and matrices

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

شما یک بردار سطری با 5 جز ساختید، اگر در انتهای دستور از علامت ; استفاده کردید، در همان لحظه x به نمایش گذاشته نمی‌شود و برای به نمایش در امدن آن از دستور زیر استفاده کنید

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

به جای استفاده از سspace می‌تونید از کاما استفاده کنید

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

و هرگز فراموش نکنید استفاده از کاما یا space رو، برای مثال، مثال زیر رو امتحان کنید

این دستور بدون استفاده از کاما یا space جاگذاری شده

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

نتیجه را ببینید و بررسی کنید

 

* شما قادر به استفاده از یک بردار درون بردار دیگر نیز هستید

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

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

* حتمن براکت رو ببندید

* اجزا در بردارها بایستی به وسیله کاما یا space از هم جدا شوند

 

عملگر :

 

شما می‌توانید به وسیله : یک بردار بسازید

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

عملگر linspace


linspace(0,1,10)
linspace(0,3,10)
linspace(0,1,5)

نتیجه چه شد؟ در مقدار اول را در نظر می‌گیرد و به مقدار سوم تقسیم می‌شود. برای مثال اول، مقدار 0 تا 1 را به 10 قسمت مساوی تقسیم می‌کند و برای دیگر مثال‌ها به همچنین

 

:mornincoffee:

 

پ.ن: همانطور که می‌بینید به طور خلاصه در گذشته در این موارد مثال آوردیم، به همین طریق پیش می‌رویم و سپس به طور متوسطه و سپس پیش‌رفته به مسایل می‌پردازیم

لینک به دیدگاه

با سلام

در ابتدا از اینکه تاخیر داشتم عذر می‌خوام

و حال نسبت به اینکه برنامه متلب روی سیستم در حال حاضر نصب نیست، جهت ادامه تاپیک، فقط بصورت کوتاهی این تاپیک رو ادامه می‌دم و در روزای آینده جبران می‌کنم

شرمنده نبودم :wubpink:

 

Transposing Vectors

تا کنون فقط بردارهای خطی رو دیدین، با چند سطر یا ستون

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


x=1:5'
y=[1 4 8 0 -1]'
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

نکته: شماره گذاری جهت توضیحاتی هستش که اینجا می‌گم، نیازی نیست اونا رو توی برنامه وارد کنید

 

1- این دستور یه شما یک بردار خطی با 7 مقدار که به طور رندم انتخاب شده می‌دهد

2- این دستور سومین مقدار از دستور قبل رو به نمایش می‌گذاره، 3 یک subscript‌ هستش

3- این دستور دومین، سومین و چهارمین مقدار دستور اول رو به نمایش می‌گذاره

4- چه چیزی مشاهده می‌کنید ؟

5- تلاش کنید و نتیجه رو مشاهده کنید

6- شما با استفاده از یک بردار خالی، قادر به حذف پارامتر‌های دستور اول هستید، هر کدوم رو که انتخاب کنید

 

چون خودم برنامه رو نصب نکردم و الان هم خسته‌ هستم، بحث ناتموم مونده از قبل رو اینجا تموم می‌کنیم و در روزای آینده به ادامه ماجرا می‌پردازیم

درس جلسه بعد در مورد ماتریسها خواهد بود

لینک به دیدگاه

ماتریس

یک ماتریس می‌تونه شامل سطر و ستون باشه، همینطور قابل استفاده از ترانهاده نیز می‌باشید


>> a=[1 2 3;4 5 6]
>> a'
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

g همون 9.8 برابر با نیروی گرانش هستش!

قصد داریم y رو در یک گراف به مقدار 12.3 ثانیه و به فواصل 0.1 ثانیه رسم کنیم

 

الگوریتم کلی


1. % Assign the data [color=Red](g, V and t)[/color] to MATLAB variables.
2. % Calculate the value of s according to the formula.
3. % Plot the graph [color=Red]y[/color] against [color=Red]t[/color].
4. % STOP
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

 

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

 

روز خوش :mornincoffee:

لینک به دیدگاه

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

لینک به دیدگاه

کارت بسیار عالیه و جای تقدیر داره:icon_gol:

لینک به دیدگاه

تصاویر زیر رو ببینید، خودش معلومه دیگه !

attachment.php?attachmentid=590&d=1273943483

 

attachment.php?attachmentid=591&d=1273943483

 

 

 

colon ( : ) کمترین حق تقدم رو داراست و علامت ترانهاده دارای بالاترین حق تقدم می‌باشد

 

با استفاده از پرانتز قادر به کنترل حق تقدم‌ها هستید

 

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

 

attachment.php?attachmentid=592&d=1273943483

 

در جدول بالا چهار دستور رو مشاهده می‌کنید، با توضیح مربوطه !

خوب همونطور که در قبل گفته شد، dot باعث می‌شه که عملیات جز به جز صورت بگیره ( element by element )


>> a=[2 4 8];
>> b=[3 2 2];
>> a .* b
>> a ./ b

لینک به دیدگاه

disp

از این دستور جهت نمایش گذاشتن خروجی‌ها استفاده می‌شه

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

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

وقتی به شیوه بالا استفاده می‌کنید، در واقع مقدار variable رو نشون می‌ده و خود کلمه variable‌ رو به نمایش نمی زاره، ولی اگه نیاز داشتید یک نوشته رو به نمایش بگذارید، طرفین نوشتارتون، از ' استفاده می‌کنید

دستور زیر رو در متلب وارد کنید

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

:4chsmu1:

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

امیدوارم با تمرین این موضوع، به جایگاه اصلی ' پی ببرید

دستور زیر رو ببینید، و در مورد این مهم دقت کنید


x=2;
disp( [' the answer is ', num2str(x)])

the output should be

the answer is 2

در طی سه جلسه آینده، به موضوعات مهمی می‌پردازیم که از نظر من، اصول هر برنامه‌نویسی، روی اون‌ها برنامه ریزی شده، و یادگیریشون خیلی مهم هستش

با یادگیری بخش‌های آینده، مهارت ویژه‌ای در برنامه‌نویسی کسب خواهید کرد، هرچند که مقدماتی باشه

لینک به دیدگاه

Repeating with for

 

تا کنون با نحوه وارد کردن داده به برنامه آشنا شده‌اید و همینطور نحوه‌ی گرفتن جواب، در این بخش به طور مختصر در مورد دستور for که برای تکرار بکار می‌ره بحث می‌کنیم

 

برای شروع، گروه‌های زیر رو وارد برنامه کنید و نتیجه رو ببینید


>> for i=1:5, disp (i), end <ENTER>
>> for i=1:3, disp (i), end <ENTER>
>> for i=1:0, disp (i), end <ENTER>
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

نیازی به توضیح هست؟ در مرحله اول مقدار n رو 10 گذاشتیم، و مقدار اولیه فاکتوریل رو 1، تکرار رو شروع می‌کنیم، k از یک تا n جلو می‌ره، در هر مرحله، مقدار فاکتوریل رو در k ضرب می‌کنه و در فاکتوریل ذخیره می‌کنه، و سپس اون رو به صورتی که می‌بینید نمایش می‌ده، البته توجه داشته باشید که قادر خواهید بود شیوه نمایش رو تغییر بدین

 

شیوه کلی استفاده از دستور for

 


for index=j:k
statements
end

[b][color=Red] OR[/color][/b]

for index=j:m:k
statements
end
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

هرگز کاما رو فراموش نکنید

و تا زمانی که از دستور end استفاده نکرده‌اید، برنامه منتظر اجرای این دستور باقی می‌مونه

 

 

استفاده از دستور sum


n=1:10000;
s=sum(n);
disp(s)

علامت sum رو توی ریاضی یادتون هست؟ همون که مجموع رو محاسبه می‌کنه، این دستور همونه

 

ادامه‌ی بحث در جلسه‌ی آینده:mornincoffee:

لینک به دیدگاه

با سلام

بابت تاخیر افتادن بین جلسات عذر می‌خوام :wubpink:

 

امروز هم راجع به یه سری مباحث حرف می‌زنیم که قطعن گذشته باهاش آشنا شده‌این

 

استفاده از دستور rand

دستور rand، یک عدد تصادفی رو بین 0 تا 1 انتخاب می‌کنه، مثال زیر رو دنبال کنید


>> r=rand;
>> if r>0.5 disp ( ' greater indeed ' ) , end
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

بایستی نتیجه رو به صورت 0 و 1 مشاهده کنید. بله، 0 به نشانه اشتباه بودن یک عبارت و 1 به نشانه صحیح بودن آن

 

The one-line if Statement

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

اگر condition صحیح باشه، دستور اجرا می‌شه و اگه نه، اتفاقی نمی‌افته.

condition می‌تونه یه بردار یا ماتریس باشه، اگه همه‌ی بخشا صحیح باشه، عددی غیر صفر، ولی اگه حتا یه بخش نادرست باشه، اون بخش رو صفر نشون می‌ده

 

جدول زیر رو در نظر داشته باشید

attachment.php?attachmentid=653&stc=1&d=1275208120

 

چند مثال برای عبارات منطقی طبق دستورات بالا

 


b^2<4*a*c
x>=0
a ~=0
b^2 == 4*a*c
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

حال در مثال بالا، مقدار 1 رو درون x جایگذاری کنید

 

فرم اصلی دستور if-else بصورت زیر هستش

و همینطور، زیر اون، if-else‌رو در یک سطر بیان می‌کنیم

 


[color=Blue]if [/color][color=Purple]condition[/color]
statement A
[color=Blue]else[/color]
statement B
[color=Blue]end[/color]

[color=Red][b]OR[/b][/color]

[color=Blue]if[/color] [color=Purple]condition[/color] statement A, [color=Blue]else[/color] statement B,[color=Blue]end[/color]

statement ها می‌تونن بیش از یک جمله باشند

اگر condition صحیح باشه statement A اجرا می‌شه و در غیر اینصورت Statement B اجرا می‌شه

قسمت else بصورت اختیاری هستش

 

و برای دستوری که تنها در یک خط نوشتین، کاما رو هرگز فراموش نکنید

 

و برای هردو، هرگز end رو فراموش نکنید، همونطور که قبلن گفتیم، دستور بدون end به پایان نمی‌رسه

 

لینک به دیدگاه

elseif

 

استفاده کلی از دستورات if و else رو دیدین، اینجا استفاده چندین باره رو از این دستور خواهیم دید

نمای کلی استفاده از آن


In general, the [color=Blue]elseif[/color] clause is used as follows:

>> if condition 1
statement A
elseif condition 2
statement B
elseir condition 3
statement C
...
else
statementS E
end
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

نکته: به این موضوع توجه داشته باشید که می‌توانید در یک دستور شرطی، از چندین دستور دیگه ( حتا دستورهای شرطی دیگه ) نیز استفاده کنید

 

 

switch

قبلن، تو زبان‌های برنامه نویسی دیگه، با این دستور آشنا شده بودم، خیلی ازش خوشم میومد، تا اینکه به matlab رسیدم، این برنامه نیز، قواعد و قوانینش بر اساس همین دستورهای ساده بنا گذاشته شده، با این تفاوت که کمی کار رو راحت‌تر کرده و تنها کافیست، کمی با ماتریس آشنایی داشته باشیم، و کمی الگوریتم رو صحیح بنویسیم تا به بهترین نحو برنامه دلخواه رو وارد matlab کنیم

 

بریم سراغ این دستور

تنها به یک مثال بسنده می‌کنیم، خیلی راحته، اون رو وارد برنامه کنید، و نتیجه رو بررسی کنید


d= floor (10*rand)
switch d
case {2, 4, 6, 8}
disp ( 'even');
case {1, 3, 5, 7, 9}
disp ( 'odd' )
otherwise
disp ( 'zero' );
end
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

به حتم بایستی متوجه شده باشین که چه عملی انجام می‌ده

این دستور، مقدار داخل پرانتز رو به اولین عدد صحیح سمت چپ گرد می‌کنه

 

input

چون در گذشته با این مثال آشنا شده‌ایم، فقط شیوه کلی استفاده از اون رو بیان می‌کنیم

با یک مثال ساده


variable= input ('prompt');
y=input ( ' plz insert a number ' );
R =input('What is your name','s');

 

بخش اول تنها عدد وارد می‌کردین، ولی برای وارد کردن حروف، بایستی به شیوه پایینیش عمل کنید ( R )

 

این جلسه، جلسه پایانی بخش fundamental بود، و از جلسه آینده، بخش دیگری رو شروع خواهیم کرد

و خدا رو شکر، کتابی رو که می‌خواستم، برام فرستاده شده و کافیه پست اون رو بیاره، حتمن پس از تموم شدن این کتاب، اون رو به مرحله اجرا می‌زارم و سپس یه کتاب تخصصی مهندسی شیمی رو

 

و دوباره بابت تاخیرم، عذر می‌خوام، کمی درگیر و البته بیشتر تنبلی از خودم بود

 

موفق باشیم

:wubpink:

 

:mornincoffee:

لینک به دیدگاه

The Design process

 

 

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

 

پ.ن:

برای دیدن لیست کاملی از دستورات، از دستور زیر استفاده کنید

helpwin

لینک به دیدگاه

یک متغیر سمبولیک یا نمادین متغیری است که به متلب می گوید باید با آن به صورت جبری رفتار شود و نه به صورت عددی. مثلا هنگامی که از شما خواسته می شود انتگرال x را بدست آوید شما خیلی سریع جواب می دهید x/2 و درواقع شما به صورت نا معین مقدار این عبارت را حساب می کنید و نه به صورت عددی. اگر از متلب انتظار دارید او هم چنین رفتاری با متغیرهای شما داشته باشد می بایست ابتدا با کمک دستور syms آنها را به متلب معرفی کنید.

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

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

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

حالا قرار است از تابع y=x^2+sin(x) انتگرال بگیریم.

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

از توابع چند متغیره هم می توانید به راحتی انتگرال بگیرید.

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

در اینگونه موارد لازم است متغیری که قرار است انتگرال گیری بر اساس آن صورت گیرد به متلب معرفی کنید.

برای محاسبه ی مشتق از دستور diff استفاده می شود باقی موارد آن درست شبیه انتگرال گیری می باشد.

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

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

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

برای محاسبه ی معکوس لاپلاس با کمک متلب :

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

 

این مطلب رو، دوست خیلی عزیزم، حامد که در این سایت هم فعالیت دارن برام آماده کردن و من اینجا گذاشتم، از لطف و زحمتشون ممنونم

لینک به دیدگاه

با اجازه جاوید عزیز

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

دو قسمت دیگه شو که با استفاده از تحلیل گره و pdetool هست رو بعدا قرار میدم

 

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...