نشانگر فشار
امروز میخوایم
با استفاده از axes
یك نشانگر طراحی كنیم.معمولا در صنعت از
این جور نشانگر ها برای نمایش فشار و كنترل آن استفاده میشد.
این نشانگر یك پیكان آبی برای نشان دادن set point و یك پیكان قرمز برای
نشان دادن فشار لازم دارد.
بهتره
شروع كنیم
اول باید یك
نوار عمودی برای اندازه گیری فشار طراحی كنیم.
a=axes('position',[.4
.1 .2 .8],'box','on','yMinorTick','on','YGrid','on');
اگر مطلب
قبلی رو خوانده باشید حتما میتوانید بگویید این دستور چه كاری میكند.
axis([0 .5 -5 105])
hold on
الان بك
كادر داریم كه از در محو y
از 0 تا 100 شماره گذاری شده.كاره تابع hold این است كه
اندازه كادر را برای ما حفظ می كند.
فكر نمی
كنم محور x نیاز به شماره گذاری داشته باشد. مقداری كه به
ویژگی xtick
نسبت میدهیم باید ماتریس عددی باشد.
set(a,'XTick',[])
حالا باید
پیكان ها را بكشیم اما فبل از اون برای هر پیكان یك محور تعریف می كنیم ولی آنها
را نمایش نمی دهیم.
a1=axes('position',[.5
.1 .1 .8],'Visible','off' );
این كار
كمك میكند كه هر پیكان را به طور مستقل از دیگری تعریف كنیم.
axis([0 .5 0 1])
hold on
با
استفداه از دستور axis
محور x را در فاصلهی 0 تا
0.5 تعرف كردیم. اما یادمان باشد كه این محور نمایش داده نمیشود
پس چندان مهم نیست كه اندازهی آن چه چقدر باشد.فقط
در هنگام رسم پیكان مخنصات آن را با توجه به اندازهی محور تعین میكنیم.
برلی رسم
پیكان از دستور area
استفاده می كنیم.
area(Y)
area(X,Y)
area(...,basevalue)
area(...,'PropertyName',PropertyValue,...)
area(axes_handle,...)
h = area(...)
area('v6',...)
كار این
دستور این است كه یك ناحیه رنگی ایجاد می كند به این شكل كه با تجه به نقاط داده
شده به آن فاصلهی 0 تا آن نقاط را پر میكند.
اگر از شكل اول دستور استفاده شود داریه های
ماتریس را در مقابل شمارهی اندیس آن رسم میكند.
در شكل
دوم ماتریس اول نشانن دهندهی مقدار x نقاط و ماتریس دوم y است.
اگر
بخواهید این ناحی رنگی را از جای دیگری بجز 0 رسم كنید با ویژگی BaseValue می توانید ای كا را
انجام دهید.
p=area([.1
.125 .15],[.2 .4 .2],'FaceColor','r');
همین كا
را برای پیكان set piont انجام می دهیم.
a2=axes('position',[.4
.1 .1 .8],'Visible','off');
axis([0 .5 0 1])
hold on
p_set=area([0.1
.125 .15],[.2 .4 .2],'FaceColor','b');
الان باید
هر كدام از پیكان ها را در جای خود قرار دهیم.
axes(a1)
view(-90,90)
و پیكان
بعدی
axes(a2)
view(90,90)
دستور axes(a1) محور جاری را به محو a1 تغیر میدهد .
و اما
دستور view
با استفاده از این دستور میتوان محور ها را چرخاند.شكل این دستور به صورت های زیر
است.
view(az,el)
view([az,el])
view([x,y,z])
view(2)
view(3)
view(T)
[az,el] = view
T = view
در اینجا
از شكل اول دستور استفاده كردیم . شكل دوم دستور هم مترادف با شكل اول است.
Az مقدار زاویهی
چرخش در جهت عقربه های ساعت است و el زاویه چرخش حول محور x است.
هنگامی كه
یك محر ایجاد میشود مقدار az,
el را می توان با دستور [az,el]=view
بدست آورد.
برنامهی
زیر شكل كامل شدهی دستورات بالا با یك for اضافه برای حركت
دادن پیكانها بر روی محور است.
a=axes('position',[.4
.1 .2 .8],'box','on','yMinorTick','on','YGrid','on');
hold on
axis([0 .5 -5 105])
set(a,'XTick',[])
a1=axes('position',[.5
.1 .1 .8],'Visible','off' );
axis([0 .5 0 1])
hold on
p=area([.1
.125 .15],[.2 .4 .2],'FaceColor','r');
a2=axes('position',[.4
.1 .1 .8],'Visible','off');
axis([0 .5 0 1])
hold on
p_set=area([0.1
.125 .15],[.2 .4 .2],'FaceColor','b');
axes(a1)
view(-90,90)
axes(a2)
view(90,90)
for i=.05:.001:.45
set(p,'xdata',[i,
.025+i .05+i])
set(p_set,'xdata',[i,
.025+i .05+i])
drawnow
End
تبلیغات