فیلم های آموزشی متلب

سه شنبه ها ساعت ده شب منتظر پست جدید من باشید

فیلم های آموزشی متلب

سه شنبه ها ساعت ده شب منتظر پست جدید من باشید

۱۰ مطلب با کلمه‌ی کلیدی «آموزش» ثبت شده است

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



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



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


همانطور که می دانید، دستور


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


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

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

توابعی که در پست قبلی استفاده کردیم را با کمی تغیر دوباره  مورد استفاده قرار می دهیم

function b=testcaller
testcurrent
m=67;
r=m+l

-------------

function testcurrent
assignin('caller','b',23)
assignin('base','t',33)
m=34;
evalin('base','b=t+2') % 1
evalin('caller','l=b+2') % 2
r= evalin('base','b+3')+evalin('caller','b+2')+m %3

دستور 1 متغیر b را برابر با جمع t و 2 قرار می دهد (این متغیرها در فضای base- فضای کار اصلی مطلب- قرار دارند)

دستور2  متغیر b را که در فضای کار تابع testcaller قرار دارد با 2 جمع کرده و در متغیر l قرار می دهد.

دستور 3 متغیر b که در base قرار دارد را با نتغیر b که در caller قرار دارد و متغیر محلی m را جمع کرده و در r قرار می دهد.

حال دستور h=testcaller را اجرا کنید بعد از پایان برنامه باید متغیرهای t,h,b در فضای baseوجود داشته باشند.

 

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

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

syms t

البته هر متغیر دلخواه دیگری را هم می شود تعریف کرد و تابع برگشتی هم بر حسب s می باشد.

r = laplace(t)

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

ilaplace(r)

حالا فرض کنید بخواهید از تابع 1 لاپلاس بگیرید و بنویسید

laplace(1)

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

 

m=sym(1)

ilaplace(m)

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

یکی از اشتباه هایی که بسیاری از برنامه نویسان متلب مرتکب می شوند، عدم تخصیص فضای مناسب برای آرایه ها و ماتریس ها، قبل از مقدار دهی است. زبان هایی مانند C یا #C (بخوانید سی شارپ)، در هنگام تعریف آرایه ها، اندازه آرایه ها را به صورت اجباری از برنامه نویس می خواهند و هر گاه در طول اجرای برنامه، بخواهیم که مقدار آرایه را در جایی که بیش از طول آرایه است، تغییر دهیم، برنامه خطا می دهد. اما متلب، از آن جا که سادگی را به عنوان محور اولیه در نظر گرفته است، چنین ضرورت هایی را به برنامه نویسی تحمیل نمی کند. اما مشکل دقیقا از همین جا شروع می شود. برای آرایه های کوچک، همه چیز به خوبی و خوشی تمام می شود. اما وقتی آرایه ها، از یک حد بزرگ تر می شوند، ایم مسأله واقعا دردسر ساز می شود.

در متلب، برای تخصیص فضای اولیه (Pre-Allocation)، از توابع مختلفی استفاده می شود. ازمیان این توابع، پر کاربردترین آن ها، تابع zeros است. این تابع ابعاد ماتریس مورد نظر را می گیرید، و بخشی از حافظه را به همان اندازه، برای آرایه موزذ نظر تخصیص می دهد. این کار، در زبان C، با تابع malloc انجام می شود. برای آگاهی بیشتر از چگونگی کارکرد این تابع، به راهنمای آن در هلپ متلب، مراجعه کنید.

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

 

 

 

برنامه اول:

clear;
n=300000;
x(1)=0;
x(2)=1;
for k=3:n
x(k)=x(k-1)+x(k-2);
end

برنامه دوم:

clear;
n=300000;
x=zeros(1,n);     % Pre-Allocation
x(1)=0;
x(2)=1;
for k=3:n
x(k)=x(k-1)+x(k-2);
end

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

جزوه کاربرد ریاضیات در مهندسی شیمی دکتر فاطمی دانشگاه تهران:

جزوه کاربرد ریاضیات در مهندسی شیمی دکتر فاطمی

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