CURVE FITTING
آموزش متلب

آموزش نرم افزار متلب برای رشته برق – ابزار گرافیکی curve fitting

آموزش نرم افزار متلب برای رشته برق – ابزار گرافیکی curve fitting

در این بخش به معرفی ابزار گرافیکی curve fitting و همچنین سری فوریه پرداخته می شود. ادامه مطلب را دنبال کنید.

جعبه ابزار تخمین بهترین منحنی گذرنده از داده ها (CURVE FITTING TOOL)

در این بخش به معرفی ابزار گرافیکی curve fitting پرداخته می-شود. Curve Fitting Tool یک رابط گرافیکی برای اجرای دستورالعمل های زیر است:

ابزاری برای تطابق اطلاعات پراکنده
مشاهده، مقایسه و هموارسازی اطلاعات
درون یابی و برون یابی اطلاعات

با یک مثال به توضیح آن پرداخته می شود. قبل از انجام هر کاری، باید متغیرها در پنجره workspace ایجاد  شوند. با اجرای دستورات زیر متغیرهای x و y در فضای کاری ایجاد می شوند.

CURVE FITTING

;  x=-pi:0.1:pi<<
; y=x.*sin(x)<<

اکنون پنجره Workspace شامل دو متغیر x و y می باشد. حال دستور cftool را در پنجره فرمان وارد کنید یا از قسمت APP نرم افزار بر روی آن کلیک کنید تا به شکل مقابل برسید.

CURVE FITTING

همانطور که ملاحظه می شود، این پنجره از قسمت های مختلفی تشکیل شده است.
ابتدا (مطابق شماره ۱) در قسمت X data عبارت x و (مطابق شماره ۲) در قسمت Y data عبارت y را انتخاب کنید.

سپس (مطابق شماره ۳) نوع معادله و ( مطابق شماره ۴) درجه معادله را انتخاب کنید.

همانطور که مشاهده می شود، امکان انتخاب طیفی وسیع از توابع حتی سری های فوریه معادل نیز وجود دارد.
سپس (مطابق شماره ۵) ضرایب معادله و خطای تقریب منحنی و (مطابق شماره ۶) نمودارهای معادله مورد نظر  نشان داده می شود.

اگر دستورات بالا را اجرا کنید شکلی مطابق روبرو برای شما به نمایش در خواهد آمد.

CURVE FITTING

سری فوریه

سری فوریه با دوره تناوب 2L را به صورت …………………………….. نشان می دهیم.

ضرایب فوریه به ازای  …, k=0,1,2  به صورت زیر می باشد.

CURVE FITTING

برای محاسبه جمع جزئی تابع f می توان از دستورات زیر در فاصله  [-L,L] استفاده کرد، همچنین همانگونه که در سایت سیم پاور  توضیح دادم محاسبه ضرایب سینوسی و کسینوسی را می توان در دستورات زیر دنبال نمود:

syms x k L n >>
; evalin(symengine, ́assume(k,Type::Integer) ́)>>
;a = @(f,x,k,L) int(f*cos(k*pi*x/L)/L,x,-L,L) >>
;b = @(f,x,k,L) int(f*sin(k*pi*x/L)/L,x,-L,L) >>

برای محاسبه جمع جزئی تابع f، از دستور زیر استفاده می شود:

… + fs = @(f,x,n,L) a(f,x,0,L)/2<<
;symsum(a(f,x,k,L)*cos(k*pi*x/L) + (b(f,x,k,L)*sin(k*pi*x/L),k,l,n

برای روشن شدن موضوع، دستورات زیر را برای تابع قدرمطلق یا f(x)=abs(x) در پنجره فرمان وارد نمایید. می خواهیم جمع جزئي دهم آن را محاسبه کنیم.

 syms x k L n <<
f=abs(x) <<
;a = @(f,x,k,L) int(f*cos(k*pi*x/L)/L,x,-L,L)<<
;b = @(f,x,k,L) int(f*sin(k*pi*x/L)/L,x,-L,L)<<
… +fs=@(f,x,k,L) a(f,x,0,L)/2
;symsum(a(f,x,k,L)*cos(k*pi*x/L) + (b(f,x,k,L)*sin(k*pi*x/L),k,l,n
pretty(fs(f,x,10,1))<<

اگر این کار را انجام دهید، با زدن دکمه Enter به نتایج زیر می  رسید

برای رسم جمع جزئی به ازای n=2,5,10 دستورات زیر را در پنجره فرمان اجرا کنید:

syms x k L n <<
f=abs(x) <<
… +fs=@(f,x,k,L) a(f,x,0,L)/2
;symsum(a(f,x,k,L)*cos(k*pi*x/L) + (b(f,x,k,L)*sin(k*pi*x/L),k,l,n
ezplot(fs(f,x,2,1),-1,1) <<
hold on
ezplot(f,-1,1) <<
hold off
title( ́Partial sum with n=2 ́)<<

برای رسم جمع جزئی به ازای n=5 دستورات زیر را در پنجره فرمان اجرا کنید:

 syms x k L n <<
f=abs(x)  <<
…+fs=@(f,x,k,L) a(f,x,0,L)/2
;symsum(a(f,x,k,L)*cos(k*pi*x/L) + (b(f,x,k,L)*sin(k*pi*x/L),k,l,n
ezplot(fs(f,x,5,1),-1,1)<<

hold on
ezplot(f,-1,1) <<
hold off
title( ́Partial sum with n=5 ́) <<

برای رسم جمع جزئی به ازای n=10 دستورات زیر را در پنجره فرمان اجرا کنید:

 syms x k L n <<
f=abs(x)<<
… + fs=@(f,x,k,L) a(f,x,0,L)/2
;symsum(a(f,x,k,L)*cos(k*pi*x/L) + (b(f,x,k,L)*sin(k*pi*x/L),k,l,n
ezplot(fs(f,x,10,1),-1,1) <<
hold on
ezplot(f,-1,1)<<
hold off
title( ́Partial sum with n=10 ́)<<

برای دانلود این آموزش به صورت پی دی اف بر روی لینک زیر کلیک کنید.

ابزار گرافیکی curve fitting

سعید عربعامری
من سعید عربعامری نویسنده کتاب 28 گام موثر در فتح متلب مدرس کشوری متلب و سیمولینک و کارشناس ارشد مهندسی برق قدرتم . بعد از اینکه دیدم سایتهای متعدد یک مجموعه کامل آموزش متلب و سیمولینک ندارند به فکر راه اندازی این مجموعه شدم
http://sim-power.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *