声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1313|回复: 5

[编程技巧] 运行显示好多Nan inf

[复制链接]
发表于 2009-3-25 21:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
总程序如下
global kkstructBeams
kkstructBeams=struct('Amplitude',0,'WaveLength',0,'Direction',[0  0 0],'Velocity',0 ...
                    ,'InitialPosition',[0 0 0],'Frequency',0,'TimePeriod',0);
interferenceBeamsFromM = 0;
if ~isempty(dir('interferenceBeamsFromM.txt'))
   interferenceBeamsFromM = load('interferenceBeamsFromM.txt');
end
if interferenceBeamsFromM % beams from input file
    abInputBeams = load('abBeamsFromMC.txt');
    iWaveNumber = length(abInputBeams(:,1));    % iWaveNumber must be larger than 1
    for icnt=1:iWaveNumber%描述一束光,
        kkstructBeams(icnt).Amplitude = abInputBeams(icnt,1);
        kkstructBeams(icnt).WaveLength = abInputBeams(icnt,2);
        kkstructBeams(icnt).Direction = [abInputBeams(icnt,3) abInputBeams(icnt,4) abInputBeams(icnt,5)];
        %kkstructBeams(icnt).Direction = kkstructBeams(icnt).Direction/norm(kkstructBeams(icnt).Direction);
        kkstructBeams(icnt).Velocity = abInputBeams(icnt,6);
        kkstructBeams(icnt).InitialPosition = [abInputBeams(icnt,7) abInputBeams(icnt,8) abInputBeams(icnt,9)];
        kkstructBeams(icnt).Frequency = abInputBeams(icnt,10);
        kkstructBeams(icnt).TimePeriod = abInputBeams(icnt,11);
        kkstructBeams(icnt).dFrequency = abInputBeams(icnt,12);
        kkstructBeams(icnt).deltaFrequency = abInputBeams(icnt,13);
    end
end
[x,y]=meshgrid(-100:0.2:100,-100:0.2:100);
icnt=1;d=5;
I=sin(2*pi*sqrt((x-kkstructBeams(icnt).Direction(1,1))^2+(y-kkstructBeams(icnt).Direction(1,2))^2+d^2)/kkstructBeams(icnt).WaveLength)
   +sin(2*pi*sqrt((x-kkstructBeams(icnt+1).Direction(1,1))^2+(y-kkstructBeams(icnt+1).Direction(1,2))^2+d^2)/kkstructBeams(icnt+1).WaveLength);
surf(x,y,I);
I=sin(2*pi*sqrt((x-kkstructBeams(icnt).Direction(1,1))^2+(y-kkstructBeams(icnt).Direction(1,2))^2+d^2)/kkstructBeams(icnt).WaveLength)
   +sin(2*pi*sqrt((x-kkstructBeams(icnt+1).Direction(1,1))^2+(y-kkstructBeams(icnt+1).Direction(1,2))^2+d^2)/kkstructBeams(icnt+1).WaveLength);出错,

运行的时候command window 里面显示好多Nan inf 之类该怎么消除。
谢谢啊
我是想做两束光的干涉。


[ 本帖最后由 ChaChing 于 2009-3-26 22:05 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-3-25 23:43 | 显示全部楼层
kkstructBeams(icnt).WaveLength=0, 一个数除以零!!

评分

1

查看全部评分

 楼主| 发表于 2009-3-26 18:42 | 显示全部楼层

回复 沙发 ChaChing 的帖子

不是的,我后面已经对kkstructBeams(icnt).WaveLength用txt文档进行了赋值啊,已经不在是0了。
发表于 2009-3-26 19:44 | 显示全部楼层

回复 板凳 wjlwzl 的帖子

interferenceBeamsFromM.txt及abBeamsFromMC.txt是data file吗?
资料不给齐, 那知道LZ喂什麽?
 楼主| 发表于 2009-3-26 20:01 | 显示全部楼层

回复 地板 ChaChing 的帖子

我把这两个文件传上来,麻烦你再帮我看看,多谢,多谢!

[ 本帖最后由 wjlwzl 于 2009-3-26 20:03 编辑 ]

abBeamsFromMC.txt

652 Bytes, 下载次数: 2

interferenceBeamsFromM.txt

15 Bytes, 下载次数: 2

发表于 2009-3-26 21:46 | 显示全部楼层
interferenceBeamsFromM.txt里头的资料就是零!
if interferenceBeamsFromM回圈根本没执行, abBeamsFromMC.txt的资料根本未读入!
kkstructBeams(icnt).WaveLength=0, 一个数除以零!!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-2 10:48 , Processed in 0.079767 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表