نرم افزار متلب یکی از قوی ترین نرم افزارها در حوزه ی علوم پایه و مهندسی است که در کنار ابزارهای فوق العاده ای که دارد، برای ترسیم انواع نمودارها نیز می تواند مورد استفاده قرار گیرد. در این پست قصد داریم تا با رسم نمودار داده های چهار بعدی در نرم افزار متلب آشنا شویم. شاید با رسم نمودارهای دوبعدی و سه بعدی در نرم افزار متلب آشنا باشید اما برای نمایش داده هایی که شامل چهار گروه یا چهار بعد هستند چه باید بکنیم؟ در ادامه 5 روش برای نمایش داده های چهار بعدی در نرم افزار متلب را بررسی می کنیم.
نمایش داده های چهار بعدی با یک متغیر گسسته
گاهی اوقات داده ها دارای یک متغیر گسسته هستند. در این حالت می توانید چندین نمودار از یک نوع برای داده ها در هر گروه گسسته ایجاد کنید. به عنوان مثال، می توان از تابع stem3 برای مشاهده رابطه بین سه متغیر استفاده کرد که در آن متغیر چهارم جمعیت را به گروه های گسسته تقسیم می کند. برای مثال، اگر داده های سن، وزن و فشار خون سیستولیک را برای افراد سیگاری و غیرسیگاری داشته باشیم، می توانیم داده ها را به دو گروه سیگاری و غیرسیگاری تقسیم کنیم، سپس داده های سن، وزن و فشار سیستولیک را برای هر گروه با رنگ متفاوت ترسیم کنیم.
load patients Smoker Age Weight Systolic % load data
nsIdx = Smoker == 0;
smIdx = Smoker == 1;
figure
stem3(Age(nsIdx), Weight(nsIdx), Systolic(nsIdx), 'Color', 'b') % stem plot for non-smokers
hold on
stem3(Age(smIdx), Weight(smIdx), Systolic(smIdx), 'Color', 'r') % stem plot for smokers
hold off
view(-60,15)
zlim([100 140])
xlabel('Age') % add labels and a legend
ylabel('Weight')
zlabel('Systolic Blood Pressure')
legend('Non-Smoker', 'Smoker', 'Location', 'NorthWest')
بنابراین اطلاعات چهاربعدی بالا، به صورت یک نمودار سه بعدی که برای دوگروه سیگاری و غیرسیگاری با رنگ های مختلف به صورت زیر ترسیم شده است.

نمایش داده های چهار بعدی با چندین نمودار
در صورتی که یک مجموعه داده بزرگ وجود داشته باشد، ممکن است بخواهید ببینید که آیا متغیرهای فردی همبستگی دارند یا خیر. برای این کار می توانید از تابع plotmatrix برای ایجاد یک ماتریس n در n از نمودارها استفاده کنید تا روابط زوجی متغیرها را ببینید. تابع plotmatrix دو خروجی را برمی گرداند. اولین خروجی، ماتریسی از اشیاء خطی است که در نمودارهای پراکندگی استفاده می شود. مورد دوم ماتریسی از اشیاء محوری است که ایجاد می شود.
تابع plotmatrix علاوه بر نمایش داده های چهار بعدی در نرم افزار متلب می تواند برای نمایش مجموعه داده های مرتبه بالاتر نیز استفاده شود (بیشتر از 4 بعد). در مثال زیر، داده های قد، وزن، فشار دیاستولیک و فشار سیستولیک 4 داده ای هستند که نمودارهای آن ها به صورت یک ماتریس 4 در 4 ترسیم شده است.
load patients Height Weight Diastolic Systolic % load data
labels = {'Height' 'Weight' 'Diastolic' 'Systolic'};
data = [Height Weight Systolic Diastolic];
[h,ax] = plotmatrix(data); % create a 4 x 4 matrix of plots
for i = 1:4 % label the plots
xlabel(ax(4,i), labels{i})
ylabel(ax(i,1), labels{i})
end

نمایش داده ها به صورت یک تابع سه متغیره
برای بسیاری از انواع داده های چهار بعدی، می توانید از رنگ برای نمایش بعد چهارم استفاده کنید. اگر تابعی از سه متغیر داشته باشید این روش به خوبی جواب می دهد.
به عنوان مثال، تلفات بزرگراهی در ایالات متحده را به عنوان تابعی از طول جغرافیایی، عرض جغرافیایی، و نوع مکان (روستایی یا شهری) است، می توان نشان داد. مقادیر x، y و z در نمودار نشان دهنده این سه متغیر است. همچنین رنگ این نمودار نشان دهنده تعداد کشته شدگان بزرگراه است.
cla
load accidents hwydata % load data
long = -hwydata(:,2); % longitude data
lat = hwydata(:,3); % latitude data
rural = 100 - hwydata(:,17); % percent rural data
fatalities = hwydata(:,11); % fatalities data
scatter3(long,lat,rural,40,fatalities,'filled') % draw the scatter plot
ax = gca;
ax.XDir = 'reverse';
view(-31,14)
xlabel('W. Longitude')
ylabel('N. Latitude')
zlabel('% Rural Population')
cb = colorbar; % create and label the colorbar
cb.Label.String = 'Fatalities per 100M vehicle-miles';

نمایش داده های چهار بعدی به صورت حجم
دادههای شما ممکن است حاوی مقدار اندازهگیری شده برای یک جسم فیزیکی مانند دمای یک لوله باشد. در این موارد، ابعاد فیزیکی را می توان به عنوان یک حجم و رنگ مورد استفاده را برای نشان دادن بزرگی مقدار اندازه گیری شده (در این مثال دما) استفاده کرد. به عنوان مثال، از تابع slice برای نشان دادن مقدار متغیر اندازه گیری شده در مقاطع عرضی در حجم می توان استفاده کرد.
load fluidtemp x y z temp % load data
xslice = [5 9.9]; % define the cross sections to view
yslice = 3;
zslice = ([-3 0]);
slice(x, y, z, temp, xslice, yslice, zslice) % display the slices
ylim([-3 3])
view(-34,24)
cb = colorbar; % create and label the colorbar
cb.Label.String = 'Temperature, C';

رسم نمودار یک تابع با ورودی مختلط
یک تابع مختلط دارای ورودی با قسمت های حقیقی و موهومی است. همچنین خروجی این تابع نیز شامل قسمت های حقیقی و موهومی خواهد بود. می توان از یک نمودار سه بعدی با رنگ برای نشان دادن تابع مختلط استفاده کرد. در این حالت محورهای x و y نمایانگر بخشهای حقیقی و موهومی ورودی هستند. محور z نمایانگر قسمت حقیقی خروجی و رنگ نمایانگر قسمت موهومی خروجی است.
r = (0:0.025:1)'; % create a matrix of complex inputs
theta = pi*(-1:0.05:1);
z = r*exp(1i*theta);
w = z.^3; % calculate the complex outputs
surf(real(z),imag(z),real(w),imag(w)) % visualize the complex function using surf
xlabel('Real(z)')
ylabel('Imag(z)')
zlabel('Real(w)')
cb = colorbar;
cb.Label.String = 'Imag(w)';

جمع بندی
تصور نمودارهای دوبعدی و سه بعدی برای ما آسان تر از ابعاد بالاتر است چون در طبیعت تا 3 بعد را با چشم می توانیم ببینیم اما برای بعدهای بالاتر تصور ذهنی نیز نیاز می شود. در این پست 5 روش برای نمایش داده های چهار بعدی در نرم افزار متلب را بررسی کردیم که عموماً از نمودارهای سه بعدی به همراه طیف رنگی می توان برای نمایش داده های چهاربعدی استفاده کرد. برای داده های 5 بعدی و بالاتر از روش های ماتریسی می توان برای نمایش اطلاعات استفاده کرد(دستور plotmatrix).
اگر علاقه مند هستید که با نمایش شکل های سه بعدی در نرم افزار متلب آشنا بشید می تونید پست زیر را مشاهده کنید
هیچ دیدگاهی نوشته نشده است.