آخرين ارسالهاي تالار

موضوع هاي بيشتر »

هاشور زدن سطح زیر نمودار مشاهده در قالب PDF چاپ فرستادن به ایمیل
نوشته شده توسط admin   
پنجشنبه, 02 آذر 1391 ساعت 22:18

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

فرض کنید قرار است محیط بسته ای که دو معادله ی زیر با هم می سازند با رنگ سبز (بدون منظور خاصی !) پر کنیم :

y=x+1

y=x^2

بسیاری از کاربران متلب خیلی ساده می دانند که برای پر کردن محیط بسته با رنگ خاص در متلب می توان از فرمان fill استفاده کرد اما روش درست استفاده از آن کمی پیچیده است

ابتدا دستور hold را فعال کرده و دو نمودار را رسم می کنیم :

hold on;

ezplot('x+1');

ezplot('x^2');

برای رسم دقیق قسمت پر کننده شما نیاز به دانستن محل تقاطع دو خط دارید و برای این کار هم لازم است معادله ی آن دو با هم حل شود :

s=solve('y=x+1','y=x^2');

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

 

 

 

fill(X,Y,ColorSpec)

که در آن x  و y مجموعه ی نقاطی هستند که یک محیط بسته ی دو بعدی را تشکیل می دهند و نیز رنگ زمینه را هم در قسمت آخر همانند دستور plot تعیین می کنید

باقی کار چندان مشکل نیست فقط شما نیاز دارید که x ها در بین دو نقطه ی تقاطع منحنی جای بگیرند و y ها هم از روی یکی از معادلات به طور دقیق محاسبه شوند، هر چه تعداد نقاط بیشتر باشد هاشور دقیقتر شکل می گیرد

f2=x^2;

x=linspace(subs(s.x(1)),subs(s.x(2)),3);

y2=subs(f2,x);

fill(x,y2,'g');

plot(x,y2,'r+')

axis([-2 2 -1 4])

برای درنظر گرفتن تعداد نقاط بیشتر می توانید در فرمان linspace بجای عدد 3 از 30 یا 40 استفاده کنید و ببینید تغییرات به چه صورت خواهد بود.

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

 

clc;
clear;
clf;

hold on;

ezplot('x+1');

ezplot('x^2');

s=solve('y=x+1','y=x^2');

syms x;

f2=x^2;

x=linspace(subs(s.x(1)),subs(s.x(2)),3);

y2=subs(f2,x);

fill(x,y2,'g');

plot(x,y2,'r+')

axis([-2 2 -1 4])

نظر ها (5)
  • ناشناس
    با سلام جواب سوالم رو کجا ببینم؟
  • amir ali
    سلام

    با تشکراز سایت خوبتونمیخواستم کد دستور محاسبه انتگرال ذوزنقه ای رو اگه کسی میدونه برا ارسال کنه درگیر امتحانات میان ترمم اصلا نمیتونم وقت بزارم خودم ممنون
  • sarchat
    با سلام
    وقتی یه چند معادله و چند مجهول را باsolve حل میکنیم چجوری باید بفهمیم که اعداد به دست اومده مربوط به کدوم متغیر ها هستند؟ ممنون
  • amir mashayekh  - پروژه متلب
    ا عرض سلام;
    یک پروژه متلب دارم
    ممنون میشم کمکم کنید
    عنوان : برنامه ای بنویسید کهبا گرفتن یک چند جمله ای و نقطه ی ابتدا و انتها سطح زیر منحنی را حساب کند.(به دو روش ذوزنقه ای و مسطتیلی)

    تشکر
  • darai  - تبدیل کانتورلت
    سلام خسته نباشید من چطور می تونم یک مجموعه کامل آموزشی تبدیل کانتورلت رو داشته باشم . ممنون می شم اگه کمک کنید
تنها کاربران عضو شده می توانند نظر ارسال کنند!