MATLAB求助!

我编写了个MATLAB的程序,运行到后面的时候,编译器不提示我有错误,但是却也运行不出来结果。程序如下:clear;um=1e-6;N=1024;dx=17*um;dy=... 我编写了个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)'));就是这个语句,一运行到这就没有结果出现。我开始以为可能是计算量太大。可是我等了很久还是不会出现结果!
感谢个位朋友了,谢谢啊!
展开
 我来答
victortkl
2008-04-30 · TA获得超过676个赞
知道小有建树答主
回答量:314
采纳率:100%
帮助的人:364万
展开全部
D=D/max(max(abs(D)));
这句会出错

我帮你改成
maxAll=max(max(abs(D)));
D1=D(:,:,1)/maxAll(:,:,1);
D2=D(:,:,2)/maxAll(:,:,2);
D3=D(:,:,3)/maxAll(:,:,3);

D(:,:,1)=D1;
D(:,:,2)=D2;
D(:,:,3)=D3;

但是这样还是一直处于busy的状态
D是三维的,你的编程目的中D是三维的么?
从后面的程序来看,怎么应该是二维的?

最后一句
ang1=angd+2*pi*(rand(N,N)-0.5*ones(N,N))*finverse(sym('sinc(x)'));
angd是三维的,x也是3维的,而rand(N,N)是二维的,显然会出问题
Sievers分析仪
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
百度网友f88c786
2008-04-26 · TA获得超过115个赞
知道答主
回答量:81
采纳率:0%
帮助的人:47.3万
展开全部
D=D/max(max(abs(D)));
这句好像有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
俊永翼F
高粉答主

2020-06-16 · 说的都是干货,快来关注
知道答主
回答量:8.1万
采纳率:3%
帮助的人:3847万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式