Rectangular Function implementation in Matlab
110 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Rohan Repale
am 20 Mär. 2013
Kommentiert: Vamshidhar Reddy
am 15 Nov. 2022
How do I implement this equation?
rect(x)
Thanks
0 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 20 Mär. 2013
Bearbeitet: Azzi Abdelmalek
am 20 Mär. 2013
rect=@(x,a) ones(1,numel(x)).*(abs(x)<a/2) % a is the width of the pulse
x=-10:0.001:10
y=rect(x,2)
plot(x,y)
6 Kommentare
Khushi Bhatti
am 9 Sep. 2018
can someone please tell me how can i use a rectangular function or any function to visualize outliers in my data? i find the outliers in my data but i dnt know how to visualize them using a graph or plot.
Weitere Antworten (2)
Johan Rincon Botia
am 16 Apr. 2022
I did the implementation for rect function with period w
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/966090/image.png)
My function has 4 arguments rect (T,n,amp,xtranslation), where T is the period, n is the periods that you want to show, amp is the amplitude and xtranslation is the translation at x-axis, for example, i want to do this signal:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/966095/image.png)
with any period, like T = 20s, and i wanna show this 3 times,
This is how i use the function
T = 20; %Period
amplitude = 5; %Amplitude of the signal
num = 3; %Numbers of periods that you want to show
xtranslation =-8; % Translation x-axis
[t,y] = rect(T,num,amplitude,xtranslation); %the function return the time vector and amplitud vector
plot(t,y)%use t and y to plot your rect signal
An here is the implementation of the function:
function [t,y] = rect(T_period,num,ampli,xtranslation)
t = -T_period*num:0.01:T_period*num;
y_0=0;
y_1=1;
if xtranslation>=T_period/2
num = num+round((2*xtranslation/T_period))
end
for i=-num:num
y_0=y_0 + 0.*(t>T_period/2+(T_period*(i-1)) & t<T_period*num);
y_1=y_1 + 1.*(t>T_period*(i-1) & t<T_period/2+(T_period*(i-1)));
end
y= (y_0 + y_1)
y = ampli*(y-min(y));
t = t-xtranslation;
end
And this is the result, i hope that this will be useful for you!
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/966100/image.png)
0 Kommentare
balakrishna nair nalivalapil
am 5 Feb. 2019
rect=@(x,a) ones(1,numel(x)).*(abs(x)<a/2) % a is the width of the pulse
x=-10:0.001:10
y=rect(x,2)
plot(x,y)
1 Kommentar
Siehe auch
Kategorien
Mehr zu Antennas, Microphones, and Sonar Transducers finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!