263 مبحث (کلید)


آموزش متلب (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)

33 مبحث (کلید)




آخرین ارسال های انجمن (در زمینه برنامه نویسی متلب)
انجمن آخرین ارسال نویسنده تاریخ و زمان موضوع
بردارها و ماتریس ها در متلب (MATLAB)
Bahar
Bahar
امروز, ۰۸:۰۹ صبح
مقایسه عناصر ماتریس
سوال و جواب در مورد نرم افزار متلب (MATLAB)
emranrostami
emranrostami
امروز, ۱۲:۲۳ صبح
خروجی متلب (ضرب ماتریس ها)
مباحث عمومی در متلب (MATLAB)
shadi
shadi
دیروز, ۱۰:۳۳ عصر
گرفتن آرایه از کاربر (در متلب)
بردارها و ماتریس ها در متلب (MATLAB)
admin
ayande
دیروز, ۰۶:۲۹ عصر
متغیر رشته ای (در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
Cyrus777
Cyrus777
۱۳۹۴/۳/۳, ۰۷:۰۶ عصر
نیاز فوری به help متلب ترجمه شده (مربوط به control toolbox)
راهنمایی در مورد توابع متلب (MATLAB)
admin
zingzing2hamid
۱۳۹۴/۳/۳, ۰۶:۵۷ عصر
HELP فارسی متلب - کمک خیلی فوری
سوال و جواب در مورد نرم افزار متلب (MATLAB)
admin
babri123
۱۳۹۴/۳/۳, ۰۶:۵۵ عصر
مشکل با function : برگرداندن خود متغیرها به جای مقدار آنها (در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
emranrostami
emranrostami
۱۳۹۴/۳/۳, ۰۶:۲۱ عصر
ماتریس
سوال و جواب در مورد نرم افزار متلب (MATLAB)
reza137206
reza137206
۱۳۹۴/۳/۳, ۰۵:۵۳ عصر
مشکل در نصب نرم افزار متلب 2013
سوال و جواب در مورد نرم افزار متلب (MATLAB)
sepide
sepide
۱۳۹۴/۳/۳, ۱۲:۰۷ عصر
چرخش 180 درجه ای مختصات (در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
سپنتا
سپنتا
۱۳۹۴/۳/۳, ۰۱:۵۲ صبح
سوال
سوال و جواب در مورد نرم افزار متلب (MATLAB)
jazimimo
jazimimo
۱۳۹۴/۳/۳, ۱۲:۵۴ صبح
شبیه سازی شبکه حسگر بیسیم
سوال و جواب در مورد نرم افزار متلب (MATLAB)
سمانه
سمانه
۱۳۹۴/۳/۱, ۰۴:۴۸ عصر
سوال ضروری
سوال و جواب در مورد نرم افزار متلب (MATLAB)
mohammad
mohammad
۱۳۹۴/۳/۱, ۱۰:۳۷ صبح
الگو یتم ژنتیک
نرم افزار متلب (MATLAB)
saati
poribanai
۱۳۹۴/۲/۳۱, ۰۶:۳۳ عصر
سوال درباره GUI در متلب
راهنمایی در مورد توابع متلب (MATLAB)
ayande
ayande
۱۳۹۴/۲/۳۰, ۱۲:۰۲ صبح
خطای در اجرای M file متلب
سوال و جواب در مورد نرم افزار متلب (MATLAB)
matlabuser
matlabuser
۱۳۹۴/۲/۲۹, ۰۹:۰۳ عصر
حل یک معادله و رسم نمودار آن در متلب
مباحث عمومی در متلب (MATLAB)
maral
maral
۱۳۹۴/۲/۲۸, ۰۳:۲۴ صبح
تبدیل اعداد باینری به اعداد دهدهی (در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
amine
amin_s
۱۳۹۴/۲/۲۷, ۱۰:۵۳ صبح
تابع انتقال از روی تابع حالت (در متلب)
سوال و جواب در مورد نرم افزار متلب (MATLAB)
admin
amine
۱۳۹۴/۲/۲۷, ۰۷:۵۳ صبح
ماتریس ضرایب دستگاه معادلات (در متلب)
پردازش تصویر در متلب (MATLAB)
آدرینا
آدرینا
۱۳۹۴/۲/۲۶, ۱۰:۳۶ عصر
پانوراما
راهنمایی در مورد توابع متلب (MATLAB)
almasm85
almasm85
۱۳۹۴/۲/۲۵, ۱۰:۰۵ عصر
ارور به s-function در متلب
حل معادلات در متلب (MATLAB)
after1393
ana.k
۱۳۹۴/۲/۲۵, ۰۱:۱۹ صبح
نوشتن معادله در متلب
سوال و جواب در مورد نرم افزار متلب (MATLAB)
MATLAB
MATLAB
۱۳۹۴/۲/۲۲, ۱۰:۵۴ عصر
تبدیل اعداد باینری به دسیمال(دهدهی) در متلب
الگوریتم ژنتیک در متلب (MATLAB)
MATLAB
MATLAB
۱۳۹۴/۲/۲۰, ۱۰:۰۹ عصر
کاربرد الگوریتم زنتیک (در متلب)
مشاهده 1000 ارسال آخر انجمن (در زمینه برنامه نویسی متلب)