264 مبحث (کلید)


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

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

نویسنده :   علیرضا گلمکانی ( admin )

هاشور زدن (رنگی کردن) بخشی از منحنی های رسم شده با استفاده از دستور 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)
mr_morteza
mr_morteza
۱۳۹۴/۵/۴, ۰۳:۱۳ عصر
کمک فوریییییییییییییی
سوال و جواب در مورد نرم افزار متلب (MATLAB)
m.r
m.r
۱۳۹۴/۵/۳, ۰۷:۲۱ عصر
سرعت اجرا در پردازش موازی
سوال و جواب در مورد نرم افزار متلب (MATLAB)
zmhmd
shabnam.tavari
۱۳۹۴/۵/۲, ۰۶:۰۷ عصر
کمک فوری
سوال و جواب در مورد نرم افزار متلب (MATLAB)
amine
amine
۱۳۹۴/۵/۱, ۰۶:۳۸ عصر
روش fsolve
حل معادلات در متلب (MATLAB)
vahidcs87
zmhmd
۱۳۹۴/۴/۳۱, ۰۲:۵۴ عصر
حل معادله غیر خطی به روش نیوتن رفسون
نرم افزار متلب (MATLAB)
vahidcs87
دارا
۱۳۹۴/۴/۳۱, ۱۱:۲۰ صبح
ایجاد منو در متلب
سوال و جواب در مورد نرم افزار متلب (MATLAB)
mabud
mabud
۱۳۹۴/۴/۲۹, ۱۱:۴۱ عصر
رسم ماتریس با دستور imagesc
حل معادلات در متلب (MATLAB)
vahidcs87
rr5059
۱۳۹۴/۴/۲۸, ۰۳:۲۸ عصر
حل یک ماتریس با حداقل ده متغیر که به هم وابسته هستند و از یکدیگر مستقل نمیباشند
مباحث عمومی در متلب (MATLAB)
vahidcs87
foaad
۱۳۹۴/۴/۲۸, ۰۳:۲۷ عصر
کمک فوری در مورد GUI
راهنمایی در مورد توابع متلب (MATLAB)
pinkng123
pinkng123
۱۳۹۴/۴/۲۴, ۰۸:۰۹ عصر
تابع علامت در متلب را با چه دستوری معرفی میشود؟
سوال و جواب در مورد نرم افزار متلب (MATLAB)
sbh400
mabud
۱۳۹۴/۴/۲۴, ۰۴:۳۱ عصر
فوری. ماتریس
بردارها و ماتریس ها در متلب (MATLAB)
almasm85
almasm85
۱۳۹۴/۴/۲۴, ۰۱:۰۸ عصر
تشخیص تصویر تاریک از تصویر روشن
سوال و جواب در مورد نرم افزار متلب (MATLAB)
sepide70
sepide70
۱۳۹۴/۴/۲۴, ۱۰:۳۸ صبح
فرکانس های بالای تصویر
سوال و جواب در مورد نرم افزار متلب (MATLAB)
MATLAB
faezeh
۱۳۹۴/۴/۲۳, ۱۰:۳۵ عصر
ایجاد ماتریس قطری بلوکی
راهنمایی در مورد توابع متلب (MATLAB)
vahidcs87
MORGAN
۱۳۹۴/۴/۲۳, ۰۷:۰۸ عصر
تابعی با نام bottom_left بنویسید..
سوال و جواب در مورد نرم افزار متلب (MATLAB)
eng.sohrabi
eng.sohrabi
۱۳۹۴/۴/۲۳, ۱۱:۴۳ صبح
کمک فوررررررررررررری
سوال و جواب در مورد نرم افزار متلب (MATLAB)
mrkeikha
hadis-biyar
۱۳۹۴/۴/۲۲, ۰۹:۵۴ صبح
توابع بهینه سازی تک هدفه
سوال و جواب در مورد نرم افزار متلب (MATLAB)
pinkng123
pinkng123
۱۳۹۴/۴/۲۱, ۰۲:۰۸ صبح
مشکل اندیس گذاری در حلقه for
سوال و جواب در مورد نرم افزار متلب (MATLAB)
alimp
alimp
۱۳۹۴/۴/۲۰, ۰۲:۲۱ صبح
دادن مختصات تعداد زیادی گره و وصل کردن برخی گره ها به هم (رسم هندسه سه بعدی)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
vahidcs87
Yahya
۱۳۹۴/۴/۱۹, ۱۰:۱۷ عصر
کمک فوری
سوال و جواب در مورد نرم افزار متلب (MATLAB)
MATLAB
razzagh
۱۳۹۴/۴/۱۸, ۱۰:۵۳ عصر
کمک به رفع خطا
سوال و جواب در مورد نرم افزار متلب (MATLAB)
admin
ebrahim1
۱۳۹۴/۴/۱۷, ۰۳:۰۸ عصر
اشاره به متغیر با حرف مشترک ولی اعداد متغیر در یک حلقه (در متلب)
راهنمایی در مورد توابع متلب (MATLAB)
chaghol
admin
۱۳۹۴/۴/۱۶, ۱۲:۳۲ عصر
پیام خطای Undefined function or method...for input arguments of type 'char'
سوال و جواب در مورد نرم افزار متلب (MATLAB)
m_b_e_m_ch_p_tt
m_b_e_m_ch_p_tt
۱۳۹۴/۴/۱۲, ۱۱:۵۶ عصر
ساخت یک ماتریس فقط از دو عدد خاص
بردارها و ماتریس ها در متلب (MATLAB)
هانیه
هانیه
۱۳۹۴/۴/۱۲, ۱۰:۵۹ صبح
کد بردار ویژه و مقدار ویژه ماتریس غیر مربعی (در متلب)
مشاهده 1000 ارسال آخر انجمن (در زمینه برنامه نویسی متلب)