MatlabTips
891 subscribers
462 photos
73 videos
54 files
304 links
آموزش MATLAB با "استفاده از ویدئو و متن" در سطوح مبتدی تا پیشرفته
پاسخ به سوالات تخصصی:
@roholazandie
Download Telegram
هر دانش آموخته کنجکاو و علاقه‌مند این سوال در ذهنش به وجود می‌آید که به ازای چند جمله سری فوریه قادر خواهد بود تقریب مناسبی از این تابع را به ما بدهد. اگر T را 1 در نظر بگیریم و بازه زمانی t را از -1.1 تا 1.1 در نظر بگیریم، برنامه زیر جواب شما را خواهد داد.
در ناپیوستگی های تابع(نقاط مرزی) سری فوریه رفتاری نوسانی از خود نشان میدهد که به پدیده گیبس معروف است. جالب است بدانید با افزایش k پدیده گیبس شارپ تر می شود.
#Gibs, #Fourier
@MatlabTips
Forwarded from Deleted Account
If you can't explain it simply, you don't understand it well enough. Albert Einstein
@MatlabTips
🔵 معادلات دیفرانسیل - قسمت دوم: نگاهی کوتاه به حوزه‌ی کاربردها 🔵
سطح پیچیدگی: 🌑🌑🌑🌑🌑
پیش نیاز: علاقه
برای: همه
📝هدف از این پست: (آشنایی مختصر با حوزه‌هایی که معادلات دیفرانسیل کاربرد دارد

مطالعه معادلات دیفرانسیل شاخه‌ای بسیار پهناور در ریاضیات محض و کاربردی، فیزیک، شیمی و مهندسی است. ریاضیات محض تمرکزش را روی وجود و یکتایی جواب‌های معادلات قرار داده، در حالی که ریاضیات کاربردی توجه را روی تقریب زدن جواب‌ها نهاده است.
معادلات دیفرانسیل نقش مهمی در مدل کردن پدیده‎های فیزیکی، تکنیکی یا بیولوژیکی دارد، از حرکت‌های سماوی و طراحی پل‌ها گرفته تا کنش‌های بین نورون‌ها. بسیاری از قوانین بنیادی فیزیک و شیمی را می توان توسط معادلات دیفرانسیل فرمول بندی کرد. در بیولوژی و اقصاد، معادلات دیفرانسیل برای مدل کردن رفتار سیستم‌های پیچیده استفاده می شود.
معادلات دیفرانسیل نظیر آنهایی که برای حل مسائل مربوط به دنیای خودمان به کار می رود لزومی ندارد که به طور مستقیم حل شوند. یعنی لزومی ندارد که جواب های آن‌ها را به صورت بسته‌ای بیابیم، در واقع جواب‌ها را می توان با روش‌های عددی تقریب زد.
🔵نمونه برداری تصادفی از یک تابع توزیع احتمال پیوسته🔵
سطح پیچیدگی:🌕🌕🌑🌑🌑
پیش‌نیاز:(کد نویسی متوسط)
برای:(متوسط و پیشرفته)


در قسمت قبل نحوه ی نمونه برداری تصادفی از توزیع احتمال گسسته (با چندین احتمال متناهی و مشخص) را بررسی کردیم. متوجه شدیم که تابع ransample بهترین گزینه برای این کار است و آرگومان ها و حالات مختلف آن را بررسی کردیم. در این بخش به نمونه برداری تصادفی از یک تابع توزیع پیوسته می پردازیم.
هرچند نمونه برداری تصادفی از توزیع های یکنواخت و گاوسی(نرمال) در متلب فراهم شده است اما ما می خواهیم این کار را برای هر تابع توزیع احتمالی بتوانیم انجام دهیم. روش عمومی برای این کار "نمونه گیری تبدیل معکوس"(Inverse transform sampling) است. ایده ساده ای در پشت این تکنیک است. ابتدا شما یک نمونه تصادفی از تابع توزیع یکنواخت می گیرید. می دانیم که مقداری که حاصل می شود بین صفر و یک است. از طرفی می دانیم مساحت زیر نمودار هر تابع توزیعی برابر با یک است(مجموع تمام احتمال ها همیشه یک است) حالا کافی است عددی که از نمونه گیری تصادفی از توزیع یکنواخت بدست آورده ایم را برابر با قسمتی از نمودار بگیریم که مساحتش از منفی بی نهایت تا یک نقطه است. آن نقطه نمونه تصادفی مورد نظر ماست!
ممکن است قدری گیج شده باشید. به صورت تکنیکی اگر x نمونه تصادفی یکنواخت ما باشد. u نمونه تصادفی توزیع مورد نظر است:
به جای بیان انتگرال می توان این تکنیک را بر اساس تابع تجمعی هم توضیح داد. یعنی ما به دنبال نقطه ای هستیم که در معادله زیر صدق کند:
بزرگترین مانع در این راه روش دشوار بودن انتگرال گیری در مواردی است که تابع توزیع احتمال خود دشوار باشد.
اکنون به یک مثال عملی می پردازیم: تابع توزیع Rayleigh به صورت زیر است:
و تابع توزیع تجمعی آن به صورت زیر:
پس نمونه گیری از آن به این صورت است که ابتدا یک x به صورت یکنواخت تولید می کنیم و سپس در فرمول زیر می گذاریم:
به عبارتی دیگر:
sigma = 3;
x = rand; % x drawn from uniform distribution in the [0 1] interval
u = sigma*sqrt(-2*log(1-x)); % u drawn from the Rayleigh distribution

در این قسمت مبحث ما بر روی نمونه برداری تصادفی به پایان می رسد.

@MatlabTips
🔵توجه🔵
در حال تهیه یک پک بی نظیر از آموزش متلب هستیم. که به زودی در اختیار شما عزیزان قرار خواهد گرفت.
@MatlabTips
🔵انداختن عکس بر روی رویه🔵
سطح پیچیدگی: 🌕🌓🌑🌑🌑
پیش نیاز: آشنایی با رسم رویه در متلب
برای: متوسط
📝هدف از این پست: سرگرمی و درک قابلیت های متلب

همگی با دستورا Surf آشنا هستیم. ای دستور یک رویه سه بعدی را در متلب رسم میکند. اما یک کاربرد جذاب این دستور پهن کردن یک تصویر بر روی رویه می باشد.
دستور surf ویژگی های زیادی دارد( که دانشجوی علاقه مند می تواند به help متلب رجوع کند). در این پست خاص ما ویژگی FaceColor را به texturemap تنظیم میکنیم و ویژگی CData را همان اطلاعات سه بعدی تصویر را قرار میدهیم. در ضمن باید ویژگیEdgeColor را به none تغییر دهیم. این که وظیفه هر یک از این ویژگی ها چیست، ممکن است قدری خسته کننده و طولانی باشد. به همین دلیل در صورت علاقه میتوانید در help متلب یا اینترنت آن را دنبال کنید.
در این پست می خواهم یک تصویر را بر روی یک کره (شما می توانید هر رویه ای را تعریف کنید)پهن کنم.
1⃣توجه: کره در مختصات کروی تعریف شده است(اگر حال فکر کردن دارید به آن فکر کنید)
2⃣توجه:(اگر دوست داشتید در متلب کد را اجرا کنید آدرس تصویر را تغییر دهید)
3⃣توجه: تشریح این کد در ویدئوی آموزشی آمده است.
% planet

% place image on surface

% Author: Jabbar Kamali

%% set parameters

N=100;

lambda=1;

%% make grid

theta=linspace(0, pi, N);

phi=linspace(0, 2*pi, N);

r = 1;

[phi,theta]=meshgrid(phi,theta);


x = r .* sin(theta) .* cos(phi);

y = r .* sin(phi) .* sin(theta);

z = r .* cos(theta);


axis([0, 1, -1, 1, 0, 1]);

%% get image

flower=imread('C:\Users\jegerz\Desktop\flower.jpg' );

for k=1:3

flower(:,:,k)=flipud(flower(:,:,k));

end

%% plot surface

surf(x,y,z,...

'FaceColor', 'texturemap', 'CData', flower,...

'EdgeColor', 'none');

axis equal

#Surface, #Surf, #Image, #For_intermediate
@MatlabTips
رویه ای که تصویر بر آن گسترش یافته
تصویر
🔵سلسله مراتب هندل آبجکت های گرافیکی🔵
سطح پیچیدگی:🌕🌑🌑🌑🌑
پیش‌نیاز: آشنایی با گرافیک در متلب
برای: علاقه مندان به مفهوم گرافیک
📝هدف از این پست : شما در این پست و پست های بعدی مفهوم هندل گرافیکی و اشیا گرافیکی را به صورت کامل خواهید آموخت.

در متلب تمام پنجره ها(figure) فرزندان(children) آبجکت ریشه(root) هستند. root همان پنجره مادر یا کلاینت یا متلب می باشد.
هر پنجره می تواند دارای فرزندانی چون axes، نمودارها و واسط های کاربری مختلف باشد. اشیا واسط کاربری(دکمه ها، اسلایدرها، چک باکس ها و ...) به کاربر اجازه میدهند تا اجرای یک برنامه را از طریق Callbackهایی کنترل کند. اشیا axes نمودارهای گرافیکی را نمایش میدهد و خود میتواند دارای فرزندانی باشد.
اشیا گرافیکی هم برای نمایش مورد استفاده قرار میگیرند و هم میتوانند به ورودی هایی مثل کلیک موس و دکمه عکس العمل نشان دهند.
جدول زیر نمایی از سلسله مراتب این اشیا را نشان می دهد. هر یک از این اشیا لیست بلند بالایی از ویژگی هایی که ظاهر انها را تنظیم میکند دارند. برای اطلاعات بیشتر می تواند در اینترنت عباراتی مثل "lineseries properties" یا "image properties" جستجو کنید.
در پست بعد در مورد تفاوت axis و axes و مفهوم عمیق تر هندل ها صحبت خواهیم کرد.
با ما باشید.
#Handle, #Graphics
@MatlabTips