how to convert a wave form into 2D matrix form using for loop?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
ajeet verma
am 7 Aug. 2017
Kommentiert: ajeet verma
am 7 Aug. 2017
my code is here
%%STEP FIRST (wave form)
clc;
clear all;
Imax=0.8;
Imin=0.2;
Im=Imax-Imin;
T = 20;
s1= @(x) ((2*Im*x/T)+Imin+Im/2).*(0<=x & x<=T/4) +((-2*Im*x/T)+Imin+3*Im/2).*(T/4<=x & x<=3*T/4)+((2*Im*x/T)+Imin-3*Im/2).*(3*T/4<=x & x<=T);
x = linspace(0, 20);
I1 = s1(x);
figure(1),plot(x,I1)
% second step (2D matrix image)
m=1000;
n=1000;
for i=1:m
for j=1:n
s1= @(x) ((2*Im*x/T)+Imin+Im/2).*(0<=x & x<=T/4) +((-2*Im*x/T)+Imin+3*Im/2).*(T/4<=x & x<=3*T/4)+((2*Im*x/T)+Imin-3*Im/2).*(3*T/4<=x & x<=T);
I(i,j)=s1*(j/n+i/m);
end
end
imshow(I,[]);
second step is not working, where is wrong? please help please find attachment
0 Kommentare
Akzeptierte Antwort
KSSV
am 7 Aug. 2017
clc;
clear all;
Imax=0.8;
Imin=0.2;
Im=Imax-Imin;
T = 20;
s1= @(x) ((2*Im*x/T)+Imin+Im/2).*(0<=x & x<=T/4) +((-2*Im*x/T)+Imin+3*Im/2).*(T/4<=x & x<=3*T/4)+((2*Im*x/T)+Imin-3*Im/2).*(3*T/4<=x & x<=T);
x = linspace(0, 20);
I1 = s1(x);
figure(1),plot(x,I1)
% second step (2D matrix image)
m=1000;
n=1000;
I = zeros(m,n) ;
for i=1:m
for j=1:n
s1= @(x) ((2*Im*x/T)+Imin+Im/2).*(0<=x & x<=T/4) +((-2*Im*x/T)+Imin+3*Im/2).*(T/4<=x & x<=3*T/4)+((2*Im*x/T)+Imin-3*Im/2).*(3*T/4<=x & x<=T);
I(i,j)=s1(j/n+i/m);
end
end
imshow(I,[]);
4 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Fourier Analysis and Filtering finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!