24小时热门版块排行榜    

查看: 1207  |  回复: 3

jyd3611

新虫 (初入文坛)

[求助] 用matlab运行代码出不来图像 !!

i=sqrt(-1);
d=0.1;
y=-10:0.1:10;
e=((sin(pi*d.*y+eps))./(pi*d.*y+eps));
e1=e.^2;
Y=length(y);
l=0:Y-1;
k=0:Y-1;
E=e*exp(-i*2*pi/Y).^(l'*k);
E=fftshift(E);
E=abs(E);
E1=E.^2;

y1=-10:0.1:10;
a=(sin(pi.*y1+eps))./(pi.*y1+eps);
a1=a.^2;
Y1=length(y1);
l=0:Y1-1;
k=0:Y1-1;
A=a*exp(-i*2*pi/Y1).^(l'*k);
A=fftshift(A);
A=abs(A);
A1=A.^2;%这是sinc(Dy)的傅里叶变换


i=sqrt(-1);
z=-10:0.01:10;
b=(sin(10*pi.*z+eps))./(10*pi.*z+eps);
b1=b.^2;

Z=length(z);
l=0:Z-1;
k=0:Z-1;
B=b*exp(-i*2*pi/Z).^(l'*k);
B=fftshift(B);
B=abs(B);
B1=B.^2;%这是sinc(S*y)的傅里叶变换


D=1;
a=0.1;
y2=-10:0.1:10;
c=sin(pi*(D-a).*0.4.*y2+eps)./(pi*(D-a)*0.4.*y2+eps);
c1=c.^2;
Y2=length(y2);
l=0:Y2-1;
k=0:Y2-1;
M=c*exp(-i*2*pi./(Y2)).^(l'*k);
M=fftshift(M);
M=abs(M);
M1=M.^2;%这是sinc(S*y)的傅里叶变换
hold on
f=M1.*B1.*A1;
plot(f);
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

annkk

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
华丽的飘过: 金币+5, 3q 2013-05-16 01:47:01
plot 一般需要两个输入变量。你试试以下代码,可能就明白自己的问题了。

x=0:0.01:2*pi;
y=sin(x);
plot(x,y);
性格决定成败!
2楼2013-05-10 02:20:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jyd3611

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by annkk at 2013-05-10 02:20:23
plot 一般需要两个输入变量。你试试以下代码,可能就明白自己的问题了。

x=0:0.01:2*pi;
y=sin(x);
plot(x,y);

谢谢你,主要的问题是运行总会出现
??? Error using ==> times
Matrix dimensions must agree.
改过后运行没有图像的。
3楼2013-05-10 08:22:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Charlessel

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
华丽的飘过: 金币+5, 3q 2013-05-16 01:47:10
jyd3611: 金币+5, ★★★很有帮助 2013-05-24 10:37:25
用matlaby运行了下发现这里错了
Error in ==> Untitled at 53
f=M1.*B1.*A1;

M1和A1都是1*201的数组,而B1为1*2001的数组,维度不匹配,不能运算
回头查了下是你在定义z的时候错了应该改成z=-10:0.1:10;
这样运行就可以了
祝好运
4楼2013-05-10 08:25:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jyd3611 的主题更新
信息提示
请填处理意见