توابع سینوسی با متلب و با دستور stem
توابع سینوسی با متلب و با دستور 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)
برای دانلود برنامه متلب آموزش رسم توابع سینوسی اینجا را کلیک کنید
دانلود پروژه
سلام
بی زحمت دستور حرکت یک موج سینوسی تو متلب بزارید
سلام حرکت موج سینوسی را در انتهای همین پست قرار دادیم.