توابع سینوسی با متلب و با دستور stem

در این آموزش متلب میخوام 3 تابع سینوسی را با بازه های زمانی مشخص تعریف کنیم و آن ها را با دستور stem رسم کنیم

آموزش متلب

آموزش متلب

ابتدا یک ام فایل در متلب ایجاد می کنیم و در برنامه بازه ها را اینطور تعریف میکنیم

n=.1;

t1=0:n:80;

t2=-10:n:10;

t3=0:n:30;

با این دستور رشته اعدادی بین مینیمم و ماکزیمم بازه با گام هایی به اندازه n ایجاد کرده ایم.

همچنین n میتواند تنها یک عدد بین بازه ی تعریف شده باشد. ولی در اینجا چون تابع سینوسی را میخواهیم نمایش دهیم نیاز به رشته ی زمانی در آن بازه داریم.

نکته: اندازه ی گام های زمانی n میتواند به دلخواه کاربر تغییر کند.

توابع را نیز اینطور می نویسیم:

x1=sin((pi/17)*t1);     x2=sin(3*pi*t2+pi/2);     x3=sin(t3);

به همین راحتی توانستیم توابع سینوسی را در متلب بنویسیم

میخواهیم با دستور stem (نمایش به صورت گسسته) توابع بالا را در متلب نمایش دهیم

دستور متلب به این صورت برای هر تابع سینوسی نوشته می شود:

figure

stem(t1,x1)

نمایش نتایج:

تابع اول

آموزش متلب

آموزش متلب

تابع دوم

آموزش متلب

آموزش متلب

تابع سوم

آموزش متلب

آموزش متلب

همانطور که از نتایج بدست آمده در شکل های بالا مشخص هست هر سه به صورت پریودیک هستند

به طور مثال شکل تابع اول نمایش داده شده است

 

آموزش متلب

آموزش متلب

حرکت موج سینوسی را توسط کد متلب زیر می توان دید:

clear all
clc
close all
a = -1;
z = 0:pi/100:2*pi;
y = a*sin(z);
Nz = length(z);
% Set up your plot environment
figure
h = plot(z(1),y(1));
xlim([z(1) z(end)])
ylim([min(y) max(y)])
xlabel('z')
ylabel('a*sin(z)')
legend('my sine function')
init_getframe = struct('cdata',[],'colormap',[]);
frames = repmat(init_getframe, Nz, 1 );
frames(1) = getframe;
% Get frames
for i = 2:Nz
    set(h,'XData',z(1:i));
    set(h,'YData',y(1:i));
    drawnow
    frames(i) = getframe;
end
% Play movie
movie(frames)

برای دانلود برنامه متلب آموزش رسم توابع سینوسی اینجا را کلیک کنید

دانلود پروژه

 

 

 

 

 

 

 

 

2 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

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

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

برای امنیت، استفاده از سرویس reCAPTCHA گوگل مورد نیاز است که موضوع گوگل است Privacy Policy and Terms of Use.

I agree to these terms.