24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1564  |  回复: 10

jyd3611

新虫 (初入文坛)

[求助] 程序中说X, Y, Z, and C cannot be complex.谁能帮着解决一下

clear all
c=sqrt(-1);
a=532e-9;
L=3e-2;
w=3e-6;
d=20e-6;
k=(2*pi)/a;
x=0:100:600;
y=0:100:600;
[X,Y]=meshgrid(x,y);
energy=((exp(-c*k*(20000*Y)./L)).^2)*(exp((-(1/2)*(k*w/L).^2)*(X.^2+Y.^2)))+((exp(-c*k*(40000*Y)./L)).^2)*(exp((-(1/2)*(k*w/L).^2)*(X.^2+Y.^2)))+((exp(-c*k*(60000*Y)./L)).^2)*(exp((-(1/2)*(k*w/L).^2)*(X.^2+Y.^2)))+((exp(-c*k*(80000*Y)./L)).^2)*(exp((-(1/2)*(k*w/L).^2)*(X.^2+Y.^2)));
mesh(X,Y,energy)
figure

附件中有程序公式和参量
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 新建MicrosoftWord文档.doc
  • 2013-04-07 20:21:01, 356.5 K

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

yangfjh

铁杆木虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2013-04-09 10:46:52
楼主你在matlab中的公式书写是错的,能量的定义是I=EE*,其中E*表示E的复共轭。楼主可以在简单地验证一下:
(1+i)^2是不等于(1+i)(1+i)*,起码在matlab里不是这样的。matlab中conj(E)表示E的复共轭。按楼主的书写方式,得到的能量energe中是有复数部分的,所以出现错误。
6楼2013-04-08 14:31:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangfjh

铁杆木虫 (正式写手)


csgt0: 金币+1, 谢谢 2013-04-10 17:05:19
再做点补充说明哈,验证一下之后的内容:
由于求解出来的电场E一般带有位相信息,因此表示成复数,一般情况下是用e指数表示,而e指数表示的复数可以通过x+i*y表示,而Matlab中采用后者存储复数。现假设电场E=1+i,楼主根据推导的公式表达肯定希望光强I=E^2=2,但是在Matlab中这个等式是不成立的,在Matlab中,E^2=(1+i)(1+i)=2i。后面关于共轭的内容就不变了
7楼2013-04-09 23:27:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2013-04-09 10:46:40
c是根号-1是虚数,即i,X,Y是实数的矩阵,c和X,Y怎么复合呢?
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2013-04-07 21:03:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jyd3611

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 月只蓝 at 2013-04-07 21:03:53
c是根号-1是虚数,即i,X,Y是实数的矩阵,c和X,Y怎么复合呢?

我已经在每一个负指数的平方项前加了abs就可以出现图像了。不过和我需要画的图不一样。我在检查一下公式对不。
3楼2013-04-08 09:32:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

引用回帖:
3楼: Originally posted by jyd3611 at 2013-04-08 09:32:01
我已经在每一个负指数的平方项前加了abs就可以出现图像了。不过和我需要画的图不一样。我在检查一下公式对不。...

好像是公式不对,我看了一下,你的xn 和yn 应该是和An是一一对应的,而你的An只有四个,而你的xn有很多。是不是LZ对公式的理解和我不一样。请再仔细看看。
唉。还是学吧。
4楼2013-04-08 10:24:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

引用回帖:
4楼: Originally posted by meatball1982 at 2013-04-08 10:24:02
好像是公式不对,我看了一下,你的xn 和yn 应该是和An是一一对应的,而你的An只有四个,而你的xn有很多。是不是LZ对公式的理解和我不一样。请再仔细看看。...

没说明白,公式是对的,可能是LZ写的不太对,至少和我理解的不一样。
上帖中是“好像是公式写的不对”
唉。还是学吧。
5楼2013-04-08 10:25:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jyd3611

新虫 (初入文坛)

引用回帖:
7楼: Originally posted by yangfjh at 2013-04-09 23:27:37
再做点补充说明哈,验证一下之后的内容:
由于求解出来的电场E一般带有位相信息,因此表示成复数,一般情况下是用e指数表示,而e指数表示的复数可以通过x+i*y表示,而Matlab中采用后者存储复数。现假设电场E=1+i, ...

那么我应该做什么修改呢,吧公式展开写在相乘吗?
8楼2013-04-10 10:11:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangfjh

铁杆木虫 (正式写手)

引用回帖:
8楼: Originally posted by jyd3611 at 2013-04-10 10:11:33
那么我应该做什么修改呢,吧公式展开写在相乘吗?...

直接把你式中的平方项,尤其是复数的平方写成该复数与其共轭的乘积,这个应该不难了

[ 发自手机版 http://muchong.com/3g ]
9楼2013-04-10 11:08:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jyd3611

新虫 (初入文坛)

引用回帖:
9楼: Originally posted by yangfjh at 2013-04-10 11:08:37
直接把你式中的平方项,尤其是复数的平方写成该复数与其共轭的乘积,这个应该不难了
...

都改过了,不过图形还是画不出来。可能我的公式还有问题。
10楼2013-04-13 15:26:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jyd3611 的主题更新
信息提示
请填处理意见