error in multiply a square wave and Fresnel function and plotting it...

[X,Y] = meshgrid(-2:.2:2);lambda=.000000001;z=.000010;R =X.^2;
F = exp((i.*pi.*R)./(lambda.*z));
mesh(imag(F));
l=20e-6;
w=4e-6;
Ts=1e-9;
t1=0:Ts:w;
t0=w+Ts:Ts:l-Ts;
s1=ones(size(t1));
s0=zeros(size(t0));
s=[s1 s0];
N=7; %How many repetitions of the wave
ss=repmat(s,1,N);
t=0:Ts:N*l-Ts;
plot(t,ss)
ss=imresize(F,[21 21]);
az=ss.*F;
plot(t,az)

 採用された回答

Geoff Hayes
Geoff Hayes 2015 年 3 月 1 日

0 投票

Tulika - why not include the error message? If I try to run the above code, I observe
Error using plot
Vectors must be the same lengths.
This is because your t is a 1x140000 array of doubles whereas az is a 21x21 array of complex numbers. Since they are of different dimensions, then the error message makes sense.
Step through the code to observe the same, and consider what is happening at each line and whether it makes sense.

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMathematics についてさらに検索

製品

タグ

タグが未入力です。

質問済み:

2015 年 2 月 27 日

回答済み:

2015 年 3 月 1 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by