ابتدا یک تابع با نام rect می سازیم که به عنوان تابع پالس مربعی به کار خواهد رفت. کدهای تابع به صورت زیر می باشد :
این کد باید در یک m-file نوشته شده و با نام rect ذیره شود. در ضمن، در کتاب های مختلف، ممکن است بازه مربوط به دو طرف تابع پالس مربعی (روی محور x)، تا عدد 1 یا تا عدد 0.5 در نظر گرفته شود بنابراین چک کنید که قرارداد کتاب شما چیست و سپس تابع را مطابق قرارداد تغییر بدهید (من عدد 1 را در نظر گرفتم، یعنی تابع، اعداد ورودی از 1- تا 1 را به عدد 1 و بقیه مقادیر را به صفر تبدیل می کند، در برخی کتاب ها، از 0.5- تا 0.5 را به عدد 1 تبدیل می کنند).
خوب، اکنون اولین تابع را شبیه سازی می کنیم :
مقادیر را من به دلخواه انتخاب کردم و شما باید مطابق میلتان، انتخابشان کنید.
نتیجه اجرای کدهای متلب بالا :
سایر توابع نیز با روندی مشابه شبیه سازی می شوند.
کد:
function [y] = rect(x)
if(abs(x)<=1) % 1 or 0.5
y=1;
else
y=0;
end
این کد باید در یک m-file نوشته شده و با نام rect ذیره شود. در ضمن، در کتاب های مختلف، ممکن است بازه مربوط به دو طرف تابع پالس مربعی (روی محور x)، تا عدد 1 یا تا عدد 0.5 در نظر گرفته شود بنابراین چک کنید که قرارداد کتاب شما چیست و سپس تابع را مطابق قرارداد تغییر بدهید (من عدد 1 را در نظر گرفتم، یعنی تابع، اعداد ورودی از 1- تا 1 را به عدد 1 و بقیه مقادیر را به صفر تبدیل می کند، در برخی کتاب ها، از 0.5- تا 0.5 را به عدد 1 تبدیل می کنند).
خوب، اکنون اولین تابع را شبیه سازی می کنیم :
کد:
clear all
close all
clc
T=1;
A=10;
B=5;
t=-10:0.1:10;
t_length=length(t);
v=zeros(1,t_length);
for nn=1:t_length
v(nn)=A*rect((t(nn)-T)/(2*T))+(B-A)*rect((t(nn)-(T/2))/T);
end
plot(t,v)
مقادیر را من به دلخواه انتخاب کردم و شما باید مطابق میلتان، انتخابشان کنید.
نتیجه اجرای کدهای متلب بالا :
سایر توابع نیز با روندی مشابه شبیه سازی می شوند.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.