Matlab Code for Square wave
显示 更早的评论
Hi,
I have to generate a square wave like the one shown in the fig below. Can any one please indicate the appropriate code for that?
Thanks,

4 个评论
NURRUZAINI MOHD NASIR
2016-5-22
how to generate this coding ?
Naga Sai
2017-5-21
sir help me how to use this code as userdefinedfunction in matlab
shreyas kulkarni
2019-6-7
function [z t] = square(n1,n2)
% n1=2 give similar value
% n2=4 give this value
z=[];
t=1:1:n2
x= [];
for i=1:5
for t1= 0.01:0.01:n1
a=1
z=[z a];
x=[x t1]
end
for t2=n1+0.01:0.01:n2
a=-1
z=[z a];
x=[x t2]
end
t=1:0.01:n2;
x=1:0.01:n2;
plot(z);
end
采纳的回答
更多回答(2 个)
Ridwan Maassarani
2016-2-8
编辑:Ridwan Maassarani
2016-2-8
% endCan it be done with this code ?
t = n*T:1:((n+1)*T);
%lengtht = length(t);
% Define x(t) and plot
if (mod(n,2) == 0)
%number is even
x = 1;
else
%number is odd
x = -1;
end
plot(x)
set(gcf, 'Units', 'Normalized', 'Outerposition', [0, 0, 1, 1]);
17 个评论
Image Analyst
2016-2-8
No. Evidently not. Just try it.
Naga Sai
2017-5-19
here n is an undefined function
Naga Sai
2017-5-19
sir what is n in above function sir please give me an explaination or a code to generate a square wave form without using function
Image Analyst
2017-5-19
Like I said, this code doesn't work. Did you see my code (now hidden in the comments) with code that DOES work? https://www.mathworks.com/matlabcentral/answers/163673-matlab-code-for-square-wave#comment_251311
% Make one cycle.
oneCycle = [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1];
% Replicate 10 times.
squareWave = repmat(oneCycle, [1, 10]);
% Plot it.
plot(squareWave, 'bo-', 'LineWidth', 2);
grid on;
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'Outerposition', [0, 0, 1, 1]);
Naga Sai
2017-5-21
sir help me how to use this code as a function to use it in another program
Image Analyst
2017-5-21
Do you that you need to know how to use copy and paste? It's control-c and control-v. Or you need help in writing a function? I really don't know what you need help with.
Naga Sai
2017-5-22
i want this above program to use it as a function to generate a square wave sir
Naga Sai
2017-5-22
sir how to create a fft function please help me regarding this also sir
Naga Sai
2017-5-23
sir pl respond to my question sir
Image Analyst
2017-5-23
"how to create a fft function please help me regarding this also" <=== You don't need to create an fft function. There is an fft() function built into MATLAB.
Naga Sai
2017-5-23
but i have some restrictions from my guide not to use that function it should be created by own
Image Analyst
2017-5-24
I'm sure you can find fft() code on the internet somewhere. It should be readily available. Are you able to use that (someone else's low level code)?
Naga Sai
2017-5-25
sir i am unable to find the code sir please help me in this concern
Image Analyst
2017-5-25
Learning how to use Google would be a beneficial thing for you. I used it and look what I found:
There are more if you want them.
Naga Sai
2017-5-25
Sir please clear the error in this code sir
function y = MYFFT(x)
a=size(x);
N=a(2);
n=log2(N);
l=1;
N2=N/2;
NU1=n-1;
k=0;
while(l<=n)
while(k<=N-1)
I=1;
while(I<=N2)
M=fix(k/(2^NU1));
b=dec2bin(M,n);
q=seqreverse(b);
P=bin2dec(q);
W=exp(-2*i*P*pi/N);
T1=W*(x(k+1+N2));
x(k+1+N2)=x(k+1)-T1;
x(k+1)=x(k+1)+T1;
k=k+1;
I=I+1;
end
k=k+N2;
end
end
Naga Sai
2017-6-8
sir please clear error in above function sir
Image Analyst
2017-6-8
Please give the link to your source code so I can compare your MATLAB code to the original, which presumably is in pseudocode or another language.
Daniel Robin
2019-3-13
The following square wave function can be used just like sin(x) providing a phase argument and duty-cycle and getting a signal in the range -1 to 1 accordingly.
function y = square(x, D)
r = mod(x/(2*pi), 1); % generate a ramp over every cycle
y = 1 - 2*(r > D); % output result from -1 to 1
end
类别
在 帮助中心 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

