登录论坛

查看完整版本 : matlab程序求助!


zhanggongrui
2008-04-26, 23:21
我编写了个MATLAB的程序,运行到后面的时候,编译器不提示我有错误,但是却也运行不出来结果。程序如下:
clear;
um=1e-6;
N=1024;
dx=17*um;
dy=17*um;
x=dx.*ones(N,1)*[-N/2:N/2-1];
y=dy.*ones(N,1)*[-N/2:N/2-1];
y=y';
D=imread('cup.bmp');
D=D/max(max(abs(D)));
ampg0=abs(D);
d=ifft2(D);
ampd=abs(d);
angd=angle(d);
syms x;
x=ampd;
ang1=angd+2*pi*(rand(N,N)-0.5*ones(N,N))*finverse(sym('sinc(x)'));就是这个语句,一运行到这就没有结果出现。我开始以为可能是计算量太大。可是我等了很久还是不会出现结果!
感谢个位朋友了,谢谢啊!

shiqiang
2008-04-27, 00:03
你写的整个程序,每一行都是以分号结束,不显示结果,你也没有输出结果的格式化输出语句,所以当然没有输出结果了。添加格式化输出语句就可以了,

fanxing39
2008-04-28, 02:15
我编写了个MATLAB的程序,运行到后面的时候,编译器不提示我有错误,但是却也运行不出来结果。程序如下:
clear;
um=1e-6;
N=1024;
dx=17*um;
dy=17*um;
x=dx.*ones(N,1)*[-N/2:N/2-1];
y=dy.*one...

把 最后一行结尾的 分号 删除就可以了
分号的作用: 不显示计算结果 (其实已经运算了 ,只是没有把结果输出到显示屏上)

zhanggongrui
2008-04-30, 22:08
把 最后一行结尾的 分号 删除就可以了
分号的作用: 不显示计算结果 (其实已经运算了 ,只是没有把结果输出到显示屏上)


你把分号去掉试试看看能不能出现结果。要是这么简单我还问啊。不过还是要谢谢你