جستجوی دسته : متلب (Matlab)

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

در این قسمت مروری مختصر بر توابع رسم نمودارهای سه بعدی در متلب به همراه نمونه مثال در جدول زیر آمده است:

 

plot3

t = 0 : .01 : 1;

x = 2*t;

y = -0.5*t.^2;

z1 = t.^3/2;

z2 = t.^3/.5;

plot3(x,y,z1,'b', x,y,z2,'r')

grid


 

3D graphs - plot3

fill3

x = [0 2.5; 5 2.5; 5 2.5; 0 2.5];

y = [0 0; 0 -1; 0 -1; 0 0];

z = [0 0; 0 0; 2 2; 2 2];

fill3(x,y,z, rand(4,2))

xlabel('x'); ylabel('y'); zlabel('z');

view(120, 50)

grid


 

3D graphs - fill3

contour3

X = -3:.1:3;

[x,y] = meshgrid(X,X);

z = 1./(3+x.^2+y.^2);

contour3(z)

xlabel('x'); ylabel('y');


 

3d images - contour3

surf

X = -3 : .1 : 3;

[x,y] = meshgrid(X,X);

z = 1./(3+x.^2+y.^2);

surf(z)

xlabel('x'); ylabel('y');



 

 

3d visualization - surface

surfc

X = -3 : .1 : 3;

[x,y] = meshgrid(X,X);

z = 1./(3+x.^2+y.^2);

surfc(z)

view(-30,20)

xlabel('x'); ylabel('y');


 

3d graphs - surfaces and contours

surfl

X = -3 : .1 : 3;

[x,y] = meshgrid(X,X);

z = 1./(3+x.^2+y.^2);

surfl(z)

shading interp

colormap hot

xlabel('x'); ylabel('y');


 

3d images - surfaces

mesh

X = -2 : .1 : 2;

[x,y] = meshgrid(X,X);

z = 5./(1+x.^2+y.^2);

mesh(z)

xlabel('x'); ylabel('y');


 

3d graphs - mesh

waterfall

X = -3 : .1 : 3;

[x,y] = meshgrid(X,X);

z = -1./(1+x.^2+y.^2);

waterfall(z)

hidden off

xlabel('x'); ylabel('y');


 

3d graphs - waterfall effect

pie3

data = [10 23 35 32];

pie3(data)

title('Important Data')


 

pie chart - pie 3D

ribbon

x = 0 : .1 : 4*pi;

y = cos(x);

ribbon(x,y,.1)


 

3d - ribbons

sphere

sphere(45)

axis 'equal'


 

spheres - 3d graphs in Matlab

cylinder

z = 0: .03 : 1;

r = cos(4*pi*z)+2;

cylinder(r)


 

cylinder shapes in matlab - 3D graphs

آموزش رسم نمودارهای سه بعدی در متلب-قسمت چهارم (pie3)

7-pie3 : این تابع برای رسم نموداردایره ای سه بعدی استفاده می شود:

p = [3.3 2.6 .69 .4 .3];
pie3(p)
title('Interesting Chart')

و برای اضافه کردن برچسب به این ترتیب می نویسیم:

d = [1 2 3 2.5];
pie3(d, [1 0 1 0],...
    {'Label 1', 'Label 2', 'Label 3', 'Label 4'})
title('Pie Chart showing explosions...')

آموزش رسم نمودارهای سه بعدی در متلب-قسمت سوم (sphere و contour3)

5- sphere: از این تابع برای رسم نمودار کروی استفاده میشود به این ترتیب که برای تعیین مختصات کره از این تابع استفاده می شود.

[x, y, z] = sphere(30);
plot3(x,y,z)

figure
mesh(x,y,z)

6- contour3: این نوع نمودارها خطوط و منحني‌هاي بسته‌اي مي‌باشند که براي نمايش ارتفاع‌هاي مختلف يک نمودار سه‌بعدي، در فضاي دوبعدي يا سه‌بعدي بکار برده مي‌شوند. در اين نمودارها، نواحي هم‌ارتفاع توسط خطوطي به يکديگر متصل مي‌شوند.

vx = -3 : 0.1 : 3;
vy = vx;

[x, y] = meshgrid(vx, vy);

z = -10 ./ (3 + x.^2 + y.^2);

contour3(x,y,z)

آموزش رسم نمودارهای سه بعدی در متلب-قسمت دوم (mesh و surf)

 

3-mesh:

مثال: میخواهیم نمودار سه بعدی زیر را  رسم کنیم.

 دستورات مورد نیاز به این صورت است:

vx = -4 : 0.2: 4;
vy = -3 : 0.2: 3;

[x,y] = meshgrid(vx, vy);

z = x .* y .* (x.^2 - y.^2) ./ (x.^2 + y.^2 + eps);

figure
mesh (x,y,z)
view(-37, 15)

خروجی به صورت زیر است:

--از تابع meshgrid برای ایجاد دو ماتریس x و y استفاده شده است. در واقع مجموعه ای از نقاط در دامنه تابع داده شده ایجاد میکند.

 

 

4-surf: این تابع یک نمودار سطحی سه بعدی ایجاد می کند.

مثال:

رسم تابع مثال قبل با استفاده از surf:


vx = -4 : 0.2: 4;
vy = -3 : 0.2: 3;

[x,y] = meshgrid(vx, vy);

z = x .* y .* (x.^2 - y.^2) ./ (x.^2 + y.^2 + eps);

figure
surf (x,y,z)
view(-47, 25)

 

آموزش رسم نمودارهای سه بعدی در متلب-قسمت اول (plot3 و stem3)

یکی از قابلیت های مهم متلب ترسیم نمودارهای سه بعدی است. در ادامه و در قسمت های بعدی آموزش توابعی که برای رسم این نوع نمودارها در متلب به کار میروند به همراه مثال ذکر می شوند.

نمودارهای سه بعد معمولا یک سطح را که با یک تابع دو متغیره تعریف میشود، را نشان می دهند.

 

1-plot3: از این تابع برای رسم خطوط به صورت سه بعدی استفاده میشود.

مثال:

t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
grid 
axis square


--دستور axis square نیز تعیین کرده است که دو محور افقی شکل، با اندازه ای یکسان، نمایش داده شوند که باعث می شود تغییرات دایره ای شکل منحنی، در جهت سطوح افقی، به خوبی مشاهده شود.

 

 

2-stem3: عملکرد این تابع دقیقا شبیه stem است با این تفاوت که به صورت سه بعدی رسم می کند.

مثال:

t=0:pi/50:10*pi;
stem3(sin(t),cos(t),t)
xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
grid 
axis square

دانلود کتاب پردازش تصاویر دیجیتال در متلب گنزالس

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

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

در ادامه لینک دانلود کتاب آمده است.

دانلود کد تشخیص دایره در تصاویر در متلب

متلب دارای قابلیتهای زیادی در زمینه پردازش تصویر است. در این بخش کد مربوط به تشخیص دایره در تصاویر حاوی دایره ارائه شده است. خروجی آن برای نمونه تصویر زیر تست شده است.

 


 

دانلود پروژه پردازش تصویر در متلب- تشخیص رنگ در تصویر

در این پروژه با انتخاب یک تصویر و سپس انتخاب یکی از رنگ های مورد نظر در تصویر رنگ مورد نظر را پیدا کرده و سپس با استفاده از ماسک آن قسمت را بصورت جداگانه نمایش میدهد.

 

 

دانلود پروژه تشخیص پلاک خودرو در متلب

دانلود پروژه تشخیص پلاک خودرو در متلب

یکی از قابلیت های نرم افزار متلب پردازش تصویر است. در این بخش کد مربوط به تشخیص پلاک خودرو آمده که از ابزارهای پردازش تصویر در متلب استفاده شده و پلاک خودرو در تصویر داده شده را تشخیص میدهد.

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

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

دانلود پروژه پردازش تصویر در متلب- لبه یابی تصویر داده شده به دو روش مورفولوژی و robert

دانلود پروژه پردازش تصویر در متلب- لبه یابی تصویر داده شده به دو روش مورفولوژی و robert

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

هر دو تصویری را گرفته و لبه های آن تصویر را پیدا می کنند.

بعنوان مثال تصویر داده شده :

خروجی روش اول:

خروجی روش دوم:

 

آموزش رسم نمودار دو بعدی در متلب-قسمت چهارم(compass،polar،rose)

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

 

9- compass:

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

مثال:


t = 1 : 5
r = t .* exp(i * t * 36 * (pi/180))
compass(r)


10-تابع polar:

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

مثال:


t = 0 : 2*pi/100 : 2*pi
r = 1 - sin(t);
polar(t, r)


مثالی دیگر:


t = 0 : 2*pi/100 : 2*pi
r = sqrt(abs(sin(3*t)))
polar(t,r)


11-تابع rose:

این تابع هیستوگرام زاویه ای در مختصات قطبی رسم می کند. در هیستوگرام زاویه ای (Angle Histogram)، هر چه ضلع سوم مثلث، به بزرگترین دایره نزدیک تر باشد، یعنی آمار شمارش برای آن قسمت، بیشتر بوده است.

مثال:


angle_vector = angle(exp(i*randn(1, 500))) + pi/2
rose(angle_vector)


 

آموزش رسم نمودار دو بعدی در متلب-قسمت سوم(loglog،Semilogx،Semilogy)

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

6-Loglog:

این تابع یک نمودار با مقیاس لگاریتمی در هر دو محور x و y رسم می کند.

مثال:


t = 0 : 2*pi/360 : 2*pi

x = exp(t)

y = 50 + exp(3*t)

loglog(x, y, 'LineWidth', 2)
grid

title('Demonstration of logarithmic plots')

xlabel([{'e^{t}'}; {'0 \leq t \leq 2\pi'}]) 

ylabel('50 + e^{3t}')


7-Semilogx:

این تابع یک نمودار با مقیاس لگاریتمی برای محور x و مقیاس خطی برای محور y رسم می کند.

مثال:


x = 0 : 1000
y = log(x)
semilogx(x, y)
axis([1 1000 0 7])
grid
title('Example of Semilogx')
xlabel('x')
ylabel('y = log(x)')


8-Semilogy:

این تابع یک نمودار با مقیاس لگاریتمی برای محور y و مقیاس خطی برای محور x رسم می کند.


x = 0 : 0.5 : 10
y = exp(x)
semilogy(x, y)
title('Example of Semilogy')
xlabel('x')
legend('y = e^x')


آموزش رسم نمودار دو بعدی در متلب-قسمت دوم(comet، stem)

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

4-COMET

در این نوع نمودار دو بعدی میتوان به صورت انیمیشن رسم نمودار را مشاهده کرد. از دستور comet برای نمایش یک منحنی دو بعدی (2D) به صورت انیمیشن (Animation) (دایره ای که نقاط داده ها را دنبال می کند) به کار می رود که به سه شکل زیر استفاده می شود:

Comet(a) یک نمودار comet متحرک برای بردار a رسم میکند.

Comet(a,b) یک نمودار comet متحرک برای بردار a در مقایسه با b رسم می کند.

Comet(a,b,p) یک comet بر اساس p*length(b) رسم می کند که مقدار پیش فرض p، 0.10  است.

مثال: در مثال زیر یک نمودار متحرک برای تابع y=xcos(x) برای محدوده بین 0 تا 8پی ترسیم می شود.



x = linspace(0, 8*pi, 300)

y = x .* cos(x)

comet(x, y, .6)



--دستور linspace ، برای ساخت یک بردار با مقادیر دارای فواصل یکنواخت (اختلاف یکنواخت) به کار می رود

خروجی:

5-STEM

برای رسم یک یا چند دنباله ای از مقادیر گسسته از دستور stem در متلب استفاده می شود.

مثال:



x = 0 : 2*pi/50 : 2*pi 

y = exp(-x/3) .* sin(x) 

stem(x,y)

title('Demonstration of the -stem- function')
xlabel('angle x')
ylabel('f(x)')



اگر تعداد نقاط را کمتر کنیم نمودار با تعداد کمتری نقطه ایجاد می شود:



x = 0 : 2*pi/20 : 2*pi



آموزش رسم نمودار دو بعدی در متلب-قسمت اول (plot، pie، hist)

نرم افزار متلب شامل ابزارهایی برای ترسیم نمودارهای دوبعدی، سه بعدی و حتی امکانات انیمیشن سازی است.در ادامه دستورات مفید برای ترسیم نمودارهای دوبعدی ساده در متلب آمده است.

 

1-PLOT

در متلب تابع plot برای ترسیم یک نمودار به کار میرود. اجازه بدهید ابتدا یک مثال ساده از ترسیم یک نمودار ذکر کرده و توضیحات تکمیلی با استفاده از آن بیان شود.

مثال:



plot(x,y)
grid on
xlabel('angle')
ylabel('sin(x)')
title('Plot showing horizontal and vertical lines')
hold on
 


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

--در این کد x محدوده محور x نمودار، y تابعی که نمودار بر اساس آن قرار است ترسیم شود است و دستور plot این نمودار را ترسیم می کند.

--دستور grid on باعث نشان دادن خطوط شبکه ای نمودار می شود.

--با استفاده از توابع xlabel و ylabel میتوان برچسبی برای محورهای xو y تعیین کرد.

--دستور title عنوانی برای نمودار در نظر می گیرد.

--دستور hold on نیز این قابلیت را فراهم میکند که چندین منحنی را در یک شکل نمایش داد.

2-PIE

برای رسم یک نمودار دایره ای در نرم افزار متلب از دستور pie(x) استفاده می شود. مقادیر در x منطقه هر قسمت از دایره را تعیین می کنند.

با مثال زیر توضیحات را ادامه می دهیم:

مثال:



data = [1200, 500, 300, 120]

explode=[0,1,0,0]
pie(data,explode,{ 'Region 1', 'Region 2', 'Distr. 3', 'Distr. 4'})

title('Sales', 'fontsize', 15)



data حاوی مقدار هر قسمت از نمودار است.

--اختصاص دادن نام به هر قسمت از نمودار دایره ای (pie plot) ::ممکن است که بخواهیم، نام هایی دلخواه را به بخش های مختلف نمودار دایره ای (pie plot) اختصاص بدهیم، برای این منظور باید نام ها را درون پرانتز دستور pie ذکر کنیم.

--برجسته کردن قسمتی از نمودار دایره ای (pie plot) ::گاهی برای توجه بیشتر به یک قسمت از نمودار دایره ای (pie plot)، آن قسمت را از نمودار کمی بیرون می آورند تا به صورت برجسته تر نمایش داده شود. برای این منظور، باید برداری با نام explode بسازیم و به بخش متناظر با قسمتی که می خواهیم برجسته شود، عدد 1 و به سایر بخش ها، عدد 0 را اختصاص بدهیم.

نمودار رسم شده:

3-HIST

 یک نمودار هیستوگرام یک نمایش گرافیکی است که برای تخمین توزیع احتمالی یک متغیر استفاده می شود. این نمودار فرکانس داده ها را درون فاصله های گسسته (binها) شمارش می کند و سپس برای هر فاصله یک مستطیل رسم می کند.

برای رسم نمودار هستوگرام از دستور hist استفاده میشود.

مثال زیر را در نظر بگیرید:



y = [1 1 2 2 2 3]
hist(y)


و نمودار ایجاد شده:

--یکی از کاربردهای نمودار هیستوگرام در زمینه پردازش تصویر است برای مثال برای ایجاد نمایشی گرافیکی از تعداد تکرار پیکسل‌های با شدت رنگ مشابه در یک تصویر از این نمودار استفاده می شود. در ادامه میتوانید کد ایجاد نمودار هیستورام یک تصویر را دانلود کنید که از گرفتن تصویر مورد نظر نمودار را ترسیم میکند. بعنوان مثال با دادن تصویر زیر نمودار هیستوگرام آن به شکل داده شده تولید میشود.

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

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

این کتاب یکی از کامل ترین کتاب های آموزشی نرم افزار متلب است که حاوی سرفصل های زیر به زبان انگلیسی است.:

  • معرفی نرم افزار متلب
  • متغیرها و دستورات در متلب
  • انواع داده ها در متلب
  • انواع عملگرها در متلب
  • m-فایل ها
  • انواع حلقه ها
  • وکتورها
  • ماتریس ها
  • آرایه ها
  • توابع در متلب
  • نمودارها
  • شبیه سازی در متلب

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

دانلود کتاب آموزش نرم افزار متلب (MATLAB) به زبان فارسی

متلب یک نرم افزار حرفه ای و سطح بالا برای محاسبات عددی, تجسمات و برنامه نویسی می باشد.با استفاده از نرم افزار متلب شما می توانید داده ها را تجزیه و تحلیل کنید و به توسعه و رسم الگوریتم ها بپردازید. همچنین نرم افزار Matlab قابلیت ایجاد مدل ها و برنامه های کاربردی, زبان و ابزار و مدیریت توابع ریاضی را دارا می باشد.

از ویژگی های بارز نرم افزار Matlab؛ تجزیه و تحلیل روش های های متعدد و رسیدن به روش سریع تر حل مسئله می باشد. این امکان با صفحات گسترده و زبان های برنامه نویسی مانند C, C++ و یا جاوا طراحی شده است. از این برنامه می توانید برای شبیه سازی اداوت قدرت، پردازش سیگنال و ارتباطات,
تصویر و پردازش ویدئو, سیستم های کنترل, اندازه گیری و تست, امورمالی محاسباتی و زیست شناسی محاسباتی استفاده کنید. برنامه متلب که زبان محاسبات فنی میباشد توسط بیش از یک میلیون مهندس و دانشمند در صنعت و دانشگاه ها استفاده می شود.

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

 

  • سرفصل های کتاب آموزش نرم افزار متلب

    الگوریتم و الگوریتم نویسی

    نحوه نصب نرم افزار متلب و معرفی قسمت های مختلف آن

    تعریف متغیر و ماتریس در متلب

    ساختارهای برنامه نویسی

    کار با توابع در متلب

    کار با فایل ها در متلب

    نحوه رسم انواع نمودارهای دوبعدی و سه بعدی در متلب

    و...