شما پردازش بر روی t رو از تابع بیرون آوردین، ولی کد زیر بهتره (بهتره پردازش داخل تابع باشه) :
و به صورت زیر، به تابع ارجاع می دهیم :
همان طور که مشاهده می کنید، t نیز به عنوان ورودی تابع، تعریف شده است.
کد:
function [X] = Mconvolve(x,h,t)
subplot(3,3,1);plot(t,x)
title('x(t)','color','B')
subplot(3,3,2);plot(t,h)
title('h(t)','color','B')
for i=1:length(h)
X(i:length(x)+(i-1),i)=(x(1,:))'
end
y=X*h;
% I titled y=X*h as "Mconv(x,h)"
subplot(3,3,4);plot(y);title('Mconv(x,h)','color','B')
subplot(3,3,5);plot(conv(x,h));title('conv(x,h)','color','B')
end
و به صورت زیر، به تابع ارجاع می دهیم :
کد:
clear all
close all
clc
x=rand(1,10);
h=rand(1,10)';
t=0:1/20:9*(1/20);
X=Mconvolve(x,h,t)
همان طور که مشاهده می کنید، t نیز به عنوان ورودی تابع، تعریف شده است.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.