263 مبحث


آموزش متلب (MATLAB)

کلید شماره 109 ---> از دسته بندی : ( رسم شکل ) رسم شکل های دو بعدی در متلب

هاشور زدن (رنگی کردن) بخشی از منحنی های رسم شده با استفاده از دستور fill در متلب :

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

رسم یک چندضلعی با رنگ دلخواه با استفاده از دستور fill در متلب :

برای رسم یک چندضلعی با دستور fill در متلب، باید مختصات نقاط آن چند ضلعی را بدانیم و سپس مختصات آنها را در دو بردار X و Y بنویسیم که بردار X شامل مختصات x نقاط چندضلعی و بردار Y شامل مختصات y نقاط چند ضلعی می باشد. سپس دستور fill ، با دریافت دو بردار X و Y ، چندضلعی را رسم خواهد کرد. به مثال زیر توجه کنید :

مثال :


clear all
close all
clc
 
X=[1 2 4 3];
Y=[5 2 3 7];
fill(X,Y,'b');
axis([0 5 1 8])

سه خط اول، دستورات متداول برای عدم تداخل با برنامه های پیشین اجرا شده در متلب می باشند. دقت شود که با عبارت 'b' در پرانتز دستور fill ، مشخص کرده ایم که داخل چند ضلعی، با رنگ آبی پر شود. با دستور axis نیز حدود محورهای مختصات را مشخص کرده ایم.

نتیجه :

(matlab) آموزش متلب

هاشور زدن (رنگی کردن) بخشی از یک منحنی رسم شده با دستور fill در متلب :

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


clear all
close all
clc
 
x=0:0.1:2*pi;
y=sin(x);
plot(x,y)
axis([0 x(end) -2 2])

منظور از x(end) ، آخرین عنصر بردار x می باشد.

نتیجه :

(matlab) آموزش متلب

حال فرض کنید که بخواهیم بالای این منحنی را با رنگ زرد هاشور بزنیم. برای این منظور، اینگونه از دستور fill استفاده خواهیم کرد :


clear all
close all
clc
 
x=0:0.1:2*pi;
y=sin(x);
plot(x,y)
 
X=[0,x,2*pi];
Y=[2,y,2];
fill(X,Y,'y');
axis([0 x(end) -2 2])

دقت شود که در تعریف دو بردار X و Y که به دستور fill داده می شوند، از همان دو بردار x و y استفاده کرده ایم، اما علاوه بر این، به این دو بردار، دو نقطه نیز اضافه کرده ایم. این دو نقطه را با توجه به همان شکل قبل مشخص کرده ایم، یک نقطه، همان نقطه گوشه بالا سمت چپ شکل با مختصات [x,y]=[0,2] می باشد که باید مختصات آن حتما در ابتدای بردارهای X و Y قرار داده شود و نقطه دوم، همان نقطه گوشه بالا سمت راست شکل با مختصات [x,y]=[2*pi,2] می باشد که باید مختصات آن، حتما در انتهای بردارهای X و Y قرار داده شود. خوب بنابراین با نقاط تعریف شده در بردارهای X و Y ، همان فضای بسته ای که می خواستیم رنگی شود را انتخاب کرده ایم.

نتیجه :

(matlab) آموزش متلب

هاشور زدن (رنگی کردن) بخش های مشترک یا غیر مشترک (هر بخش دلخواه) حاصل از رسم دو منحنی :

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

مثال :

ابتدا دو منحنی را به صورت عادی رسم می کنیم :


clear all
close all
clc
 
hold on
x=0:0.1:2*pi;
y_1=sin(x);
plot(x,y_1,'+r')
 
y_2=0.5*x-1;
plot(x,y_2,'^g')
axis([0 x(end) -2 3])

نتیجه :

(matlab) آموزش متلب

اکنون قصد داریم بین هر دو منحنی، برای هر x ، مقدار ماکزیمم y را مشخص کرده و نقاط ماکزیمم را با رنگ آبی نمایش دهیم و همچنین بالای این مقادیر ماکزیمم (بالای نمودار) را با رنگ زرد پر کنیم. برای این منظور کدهای زیر را می نویسیم :


clear all
close all
clc
 
hold on
x=0:0.1:2*pi;
y_1=sin(x);
plot(x,y_1,'+r')
 
y_2=0.5*x-1;
plot(x,y_2,'^g')
axis([0 x(end) -2 3])
 
L=length(x);
maximum=zeros(1,L);
for nn=1:L
    maximum(nn)=max(y_1(nn),y_2(nn));
end
 
X=[0,x,2*pi];
Y=[3,maximum,3];
fill(X,Y,'y')
 
plot(x(1:28),y_1(1:28),'+b');
plot(x(29:end),y_2(29:end),'^b');

ابتدا دو نمودار را به صورت معمولی رسم کرده ایم. دستور length ، تعداد عناصر بردار را مشخص می کند. سپس برداری به نام maximum تعریف کردیم که در آن برای هر x ، مقدار ماکزیمم y از بین دو مقدار مربوط به دو منحنی، مشخص شده است. دستور max ، مقدار ماکزیمم را تعیین می کند. سپس با دستور fill ، بخش بالای مقادیر ماکزیمم (بالای نمودار) را با رنگ زرد پر کرده ایم. در دو خط آخر نیز، با دو دستور plot ، نقاط ماکزیمم را دوباره، اما این بار با رنگ آبی، رسم کرده ایم. دو عدد 28 و 29 نوشته شده در این دو خط، همان شماره نقاط نزدیک تلاقی دو نمودار است که آنها را از دیدن نمودارهای رسم شده، متوجه شده ایم.

نتیجه :

(matlab) آموزش متلب


مبحث بالا، مفید بود و سایت کلیدستان را دوست داشتم :
محبوب کردن این مبحث در گوگل :
اون چیزی که میخواستم نبود :
سوال دارم :


ورود ثبت نام
جستجو در عنوان کلیدها (مبحث ها) در کلیدستان
(توصیه : یک یا دو کلمه جستجو شود)

شماره کلید :



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


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z


مثال های کدنویسی متلب (MATLAB)

33 مبحث




آخرین ارسال های انجمن (در زمینه برنامه نویسی متلب)
انجمن آخرین ارسال نویسنده تاریخ و زمان موضوع
سوال و جواب در مورد نرم افزار متلب (MATLAB)
s313
s313
۱۳۹۳/۱۱/۷, ۱۰:۱۵ عصر
اشکال در اجرای دستور quad
سوال و جواب در مورد نرم افزار متلب (MATLAB)
saeede
saeede
۱۳۹۳/۱۱/۷, ۰۲:۴۳ عصر
تابع آموزش شبکه عصبی
سوال و جواب در مورد نرم افزار متلب (MATLAB)
s.saeid
s.saeid
۱۳۹۳/۱۱/۶, ۰۷:۵۴ عصر
فرمول نویسی (در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
fateme93
fateme93
۱۳۹۳/۱۱/۲, ۱۱:۳۷ عصر
ساخت آرایه در متلب
سوال و جواب در مورد نرم افزار متلب (MATLAB)
admin
nushin
۱۳۹۳/۱۱/۲, ۰۷:۱۶ عصر
تعریف ماتریس شامل متغیر (در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
محسن علی یاری
محسن علی یاری
۱۳۹۳/۱۰/۲۸, ۱۱:۳۶ عصر
رسم ماتریس (رسم سه بعدی در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
masoudmilany
masoudmilany
۱۳۹۳/۱۰/۲۷, ۱۲:۳۰ صبح
شبکه عصبی در سیمولینک
سوال و جواب در مورد نرم افزار متلب (MATLAB)
aftab
سارا
۱۳۹۳/۱۰/۲۶, ۱۰:۰۶ عصر
اولین عدد بین 1000 تا 10000هزار را پیدا کنید که بر 845 بخش پذیر باشد (در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
anix
anix
۱۳۹۳/۱۰/۲۵, ۰۸:۰۹ عصر
بهینه سازی تصویر با ژنتیک با optimization tool (در متلب)
مباحث عمومی در متلب (MATLAB)
s.saeid
s.saeid
۱۳۹۳/۱۰/۲۵, ۰۷:۵۶ عصر
فرق بین شبیه سازی کردن با حل کردن یک مسئله
سوال و جواب در مورد نرم افزار متلب (MATLAB)
mahta
mahta
۱۳۹۳/۱۰/۲۳, ۰۷:۲۴ عصر
رسم اشتباه شکل تابع! (در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
aban
aban
۱۳۹۳/۱۰/۲۳, ۰۲:۴۹ صبح
مشکل در تبدیل wavelet (در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
aban
shahri8890@yahoo.com
۱۳۹۳/۱۰/۲۲, ۰۴:۲۳ صبح
دلیل صفر نشدن cos 90 در متلب
الگوریتم ژنتیک در متلب (MATLAB)
siiimiiin
immaculate
۱۳۹۳/۱۰/۱۵, ۰۵:۲۴ عصر
چگونگی تعریف تابع هزینه در الگوریتم ژنتیک
سوال و جواب در مورد نرم افزار متلب (MATLAB)
admin
sshmha
۱۳۹۳/۱۰/۱۵, ۰۲:۴۰ عصر
چگونه دركامنت ها يا تگ ها فارسي بنويسيم ؟ (در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
admin
Fahrenheit
۱۳۹۳/۱۰/۱۴, ۰۷:۴۶ عصر
سلول در متلب
سوال و جواب در مورد نرم افزار متلب (MATLAB)
reza1993
reza1993
۱۳۹۳/۱۰/۱۲, ۰۸:۰۹ عصر
توزيع ها در متلب
سوال و جواب در مورد نرم افزار متلب (MATLAB)
sshmha
sshmha
۱۳۹۳/۱۰/۱۱, ۰۵:۰۰ صبح
چگونه ماتريس n*n در صفحه gui بعنوان خروجي نمايش بدهيم ؟ (در متلب)
پردازش تصویر در متلب (MATLAB)
mahtab
mahtab
۱۳۹۳/۱۰/۷, ۱۰:۲۴ عصر
پردازش تصویر
رسم شکل در متلب (MATLAB)
admin
behnam9
۱۳۹۳/۱۰/۷, ۰۲:۱۱ عصر
رسم 3 بعدی معادله (در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
admin
ramoona
۱۳۹۳/۱۰/۷, ۰۲:۰۵ عصر
ویرایش نمودار در متلب
سوال و جواب در مورد نرم افزار متلب (MATLAB)
mvedadim
mvedadim
۱۳۹۳/۱۰/۶, ۱۱:۳۸ عصر
تغییر در الگوریتم رقابت استعماری
نرم افزار متلب (MATLAB)
bonbon
bonbon
۱۳۹۳/۱۰/۶, ۰۶:۰۲ عصر
برنامه نویسی در زمینه ریاضیات سرمایه گذاری (در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
irainian
irainian
۱۳۹۳/۱۰/۴, ۰۴:۱۶ عصر
چطور correlation پیدا کنیم
مباحث عمومی در متلب (MATLAB)
admin
bita
۱۳۹۳/۱۰/۴, ۱۲:۲۵ صبح
اندیس گذاری خلقه با n داده (در متلب)