MatlabTips
891 subscribers
462 photos
73 videos
54 files
304 links
آموزش MATLAB با "استفاده از ویدئو و متن" در سطوح مبتدی تا پیشرفته
پاسخ به سوالات تخصصی:
@roholazandie
Download Telegram
در نهایت می توان به صورت زیر این توزیع را رسم کرد:
p = 0.4;
N = 10;
pd = makedist('Binomial','p',p,'N',N);
y = pdf(pd,1:N);
plot(1:N, y);

نمودار زیر خروجی را نشان میدهد.
در قسمت های بعدی به صورت جرئی تر به این موارد می پردازیم
@MatlabTips
#For_bigginer, #Probability_distribution, #Statistical_model, #Binomial_distribution

نویسنده: (A-2)
🔵بردارهای منطقی🔵
سطح پیچیدگی:🌕🌑🌑🌑🌑
پیش‌نیاز:(برای مبتدی و متوسط)

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

 r = 1;
r <= 0.5 % no semi-colon

خروجی بصورت منطقی است. در این حالت مقدار 0 یا false تولید میشود.
✔️عبارت زیر را امتحان کنید:
r = 1:5;
r <= 3

در این حالت یک بردار منطقی تولید میشود. قطعا تحلیل و تفسیر این بردار نیازمند این نیست که آی کیو بالای 200 داشته باشید.
✔️شما همچنین می توانید دو بردار را بصورت منطقی با یکدیگر مقایسه کنید:
 a = 1:5;
b = [0 2 3 5 6];
a == b % no semi-colon!

در این حالت مقایسه بصورت المان به المان است.
در پست‌های بعدی مثال‌های کاربردی در این زمینه ارائه خواهیم کرد.
@MatlabTips
#For_beginner, #For_intermidate
#Logical_vectors
نویسنده:(A-1)
🔵نمودارهایی با گسستگی🔵
سطح پیچیدگی:🌕🌑🌑🌑🌑
پیشنیاز: (آشنایی مقدماتی با کدنویسی)
برای:(مبتدیان و مقدماتی)

یک کاربرد خیلی مفید از بردارهای منطقی رسم نمودارهایی با گسستگی موضعی است. فرض کنید می خواهیم تابع دو ضابطه ای زیر را در بازه 0 تا 3pi رسم کنیم:
کد زیر اسکریپت مورد نظر را نشان میدهد.
x=0:pi/20:3*pi;
y = sin(x);
y=y.*(y>0); %setnegative values of sin(x) to zero
plot(x, y)

عبارت y>0 یک بردار منطقی را بر میگرداند. این بردار در جاهایی که مقدار sin مثبت است عدد 1 و در جاهایی که منفی است صفر را میدهد. در نهایت با استفاده از عملیات آرایه ای ضرب، مقادیر مثبت sin را برمیداریم.
✔️سعی کنید این کار را بدون استفاده از بردارهای منطقی انجام دهید.
ما باید خیلی خوشحال باشیم که میتونیم از بردارهای منطقی در متلب استفاده کنیم.
@MatlabTips
#For_beginner, #For_intermediate
#Logical_vecotrs
نویسنده:(A-1)
نمودار sin در جاهایی که مثبت است.
🔵اجتناب از بی نهایت🔵
سطح پیچیدگی:🌕🌑🌑🌑🌑
پیش نیاز: کدنویسی مقدماتی
برای: (مبتدیان و مقدماتی)

✔️تقدیم به "فرداد پیر"
میخواهیم نمودار tan در بازه 3pi/2- تا 3pi/2 رسم کنیم. اولین چیز یا شایدم تنهاترین چیزی که به ذهنمان می رسد کد زیر است:
x = -3/2*pi : pi/100 : 3/2*pi;
y = tan(x);
plot(x, y)

نمودار این کد در شکل زیر مشاهده می شود:
چیزی که مشاهده می کنید به هر چیزی شبیه است به جز نمودار tan. دلیل این امر میل کردن tan به بی نهایت در مضارب فرد pi/2 است.
برای حل این موضوع بسادگی میتوانیم از بردارهای منطقی استفاده کنیم. بنابراین خط زیر را قبل از دستور plot به برنامه اضافه می کنیم:
y = y .* (abs(y) < 1e10); % remove the big ones

این عبارت جاهایی از بردار y را که مقدار زیادی دارند را صفر میکند و نمودار به درستی مقیاس می شود.
@MatlabTips
#Fo_beginner, #For_intermediate
#Logical_vectors
نویسنده: (A-1)
a nice graph for tan(x)
🔵رسم نمودارها با کارکترهای خاص🔵
سطح پیچیدگی:🌕🌕🌑🌑🌑
پیش نیاز: (تسلط به کدنویسی مقدماتی)
برای: (پیشرفته)

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

✔️فرض کنید یک سری داده‌هایی از دما داریم که میخواهیم رسم کنیم و در محور دما سمبول درجه را نیز نمایش دهیم.
t1 = datetime(2014,1:12,1);
temp = [0 2 12 11 15 25 23 27 25 24 12 8];

✔️اضافه کردن یک برچسب با سمبل درجه:
h = plot(t1,temp,':*');
ax = h.Parent;
title('A Year of Temperatures on the 1st of the Month')
ylabel('Degrees Celcius ^{\circ}')

در زیر شکل این نمودار آورده شده است:
حالا می خواهیم تمام اعداد روی محور yها را با سمبل درجه نمایش دهیم:
>> ytl = ax.YTickLabel

ytl =

'0'
'5'
'10'
'15'
'20'
'25'
'30'

چسباندن سمبل به اعداد محور y:
ytld = strcat(ytl,'^{\circ}');
ax.YTickLabel = ytld;
به سمبل دما بر روی اعداد محور y دقت کنید!
✔️ حالا فرض کنید محور y ها به جای دما پول باشد. ابتدا برچسب ها را با مقادیر اولیه جایگزین میکنیم(که سمبول درجه پاک شود) و برچسب محور y نیز بروزرسانی میکنیم:
ax.YTickLabel = ytl;
ylabel('Cost in $')
title('Income by Month')

✔️برای بروز رسانی اعداد بر روی محور y میتوانید مشابه حالت قبل عمل کنید:
ytld = strcat(ytl,' $');
ax.YTickLabel = ytld;
بروزرسانی محور y با نماد دلار
✔️رسم عبارات ریاضی بر روی نمودار

سعی کنید برای این کار حتما از عبارات لتک(latex) برای ریاضی استفاده کنید و پارامتر interpreter مربوط به Text را با latex تنظیم کنید.
کد زیر گویای همه چیز است:
plot(magic(3))
t1 = text(1.25,5,'$$\frac{a}{b}$$');
t1.FontSize = 18;
t1.Interpreter = 'latex';
t2 = text(2.2,8,'$$\sqrt{3}$$','FontSize',32,'Interpreter','latex');

@MatlabTips
#For_advance
#Plot
نویسنده:(A-1)