声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1048|回复: 2

[编程技巧] 请大家帮忙看看这段程序,目的是想得到两个曲线图

[复制链接]
发表于 2008-11-6 09:36 | 显示全部楼层 |阅读模式

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

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

x
请大家帮忙看看这段程序,目的是想得到两个曲线图,但是理论上讲,这个曲线肯定不是一条直线(但是结果却是一条直线),里面的公式应该不会有错,不知是不是语法或者什么地方出了问题?

clear
clc

%定义初始值
N_0=1.52;         
Eps_Dielectric0=(N_0)^2;         
Eps_Dielectric1=-17.36+0.72i;
Eps_Dielectric2=1;
h=0.05;   
Incident_Wavelength=0.65;      
Input_Angle=linspace(30,60,10000) ;   
%建模过程
Kz_0=2*pi/Incident_Wavelength*sqrt(Eps_Dielectric0-N_0^2*(sin(Input_Angle)).^2);  
Kz_1=2*pi/Incident_Wavelength.*sqrt(Eps_Dielectric1-N_0^2*(sin(Input_Angle)).^2);
Kz_2=2*pi/Incident_Wavelength*sqrt(Eps_Dielectric2-N_0^2*(sin(Input_Angle)).^2);

r_01=(Kz_0/Eps_Dielectric0-Kz_1/Eps_Dielectric1)/(Kz_0/Eps_Dielectric0+Kz_1/Eps_Dielectric1)  ;     
r_12=(Kz_1/Eps_Dielectric1-Kz_2/Eps_Dielectric2)/(Kz_1/Eps_Dielectric1+Kz_2/Eps_Dielectric2);
r_012=(r_01+r_12*exp(i*2*Kz_1*h))/(1+r_01*r_12*exp(i*2*Kz_1*h));        

%plot(Input_Angle,r_01)
%plot(Input_Angle,r_012)
回复
分享到:

使用道具 举报

发表于 2008-11-6 09:43 | 显示全部楼层

回复 楼主 zj_zhong 的帖子

Warning: Imaginary parts of complex X and/or Y arguments ignored

开根号,里面是负的
 楼主| 发表于 2008-11-6 10:11 | 显示全部楼层
我的x轴是Incident_angle,范围是30-60度,是实数;
至于y轴,由于已知量Eps_Dielectric1=-17.36+0.72i是复数,因此无论是r01或者是r012,都将会是复数形式;
因此应该说,只要用real(r01),就可以做出Incident_angle与r01实部之间的曲线关系;
但是最后结果竟然是一条单值横线;
然后我尝试做Incident_angle与kz_0等的曲线,看看是不是在这里出了问题,但是该条曲线又很正常;
因此我在怀疑是不是需要把kz_0、kz_1、kz_2的值用矩阵存储呢?(因为该三值由于Incident_angle变化而变化)
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-23 03:18 , Processed in 0.048677 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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