24小时热门版块排行榜    

查看: 2202  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zdzhang

木虫 (正式写手)

[求助] 求各位前辈帮忙!matlab解复数方程,出现图中的警告,怎来修改呢?谢谢了啊

各位前辈好,我想通过解这样一个复数方程,得到k_z的值,但是我这样编写的程序,总是出错,哪位大侠能帮我看看是那个地方出错了呢?望帮忙修改一下,先谢过各位了!
下面是我自己写的程序:
clc;
clear;
syms k_z
i=sqrt(-1);
a=60*10^(-9);
mu_air=4*pi*10^(-7);
epsl_air=8.854187817e-12;
epsl_met=-18.36+0.46i;
c=3.0*10^8;
wavelength=632.8*10^(-9);
k_0=2*pi/wavelength;

f=@(k_z) (-epsl_met*k_0^2*(8-(epsl_met*k_0^2-k_z^2)^(0.5)*a))/16*(1-0.25*(epsl_met*k_0^2-k_z^2)*a^2)+mu_air*epsl_air*k_0^2/((mu_air*epsl_air*k_0^2-k_z^2)*a^2*log(1.1229/(mu_air*epsl_air*k_0^2-k_z^2)^(0.5)*a))
ferror=1e-5;
k_z1=(0.95+0.0008*i)*k_0;
k_z2=(1.2+0.005*i)*k_0;
fplot(f,[k_z1,k_z2])
xlabel('k_z')
ylabel('f(k_z)')
hold on
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k_z0=(k_z1+k_z2)/2;
while abs(f(k_z0))>ferror
    plot(k_z0,f(k_z0),'+')
    if f(k_z1)*f(k_z0)>0
        k_z1=k_z0;
    else
        k_z2=k_z0;
    end
    k_z0=(k_z1+k_z2)/2;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
format short
disp('[           k_z0            f(k_z0)')
disp([k_z0 f(k_z0)])
那位大侠能帮忙修改一下我的程序呢?小弟在此谢过各位了

[ 来自科研家族 Ocean家族 ]

这是我要解的复数方程及已知参数



这是出现的警告

[ Last edited by zdzhang on 2011-11-16 at 17:29 ]
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangyuewu08

木虫 (著名写手)

★ ★
xiegangmai(金币+2): 谢谢参与! 2011-12-07 18:38:22
我把楼主的代码考到自己的电脑上,运行之后,发现了问题所在。
24行是输出plot(k_z0,f(k_z0),'+')的这条语句,在工作空间中发现k_z0和f(k_z0)都是复数,当x和y都是复数时,系统无法绘制相应的图形,所以提出警告。
我在command window中输入这样的语句plot( 3+4i, 4+3i ),系统显示相同的错误。
知道楼主的意图是想表示两个变量之间的关系,输入一个点,但如果在复数平面上表示的话,会输出两个点,无法反应自变量与应变量之间的关系。

上次回帖说错了,当复数和复数进行大小比较的时候,系统只比较实部,实数可以看做虚部为0的复数,所以比较语句并没有问题。
往事并不如烟
3楼2011-12-07 18:26:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

wangyuewu08

木虫 (著名写手)

【答案】应助回帖


zdzhang(金币+2): 2011-12-06 09:32:03
zdzhang(金币+2): 2011-12-06 13:23:44
xiegangmai(金币+1): 谢谢应助! 2011-12-06 22:18:21
错误出现在24行,我数了一下,好像是if f(k_z1)*f(k_z0)>0
这条语句出了问题,两个复数相乘得到的结果应该还是一个复数,除非它们是共轭的。当你把一个复数同0相比较时,程序会认为你是用实部与0比较,而忽略了虚步,警告就是这样显示的。
建议楼主求一下两复数乘积的模,然后再与0进行比较,希望对你有用。
往事并不如烟
2楼2011-12-06 08:47:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangyuewu08

木虫 (著名写手)

那条语句的确可以画出点来,但反应的只是实部之间的关系。
请问楼主画图是想表示什么意思?说不定有其他的替代方案
往事并不如烟
4楼2011-12-07 18:38:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zdzhang

木虫 (正式写手)

引用回帖:
4楼: Originally posted by wangyuewu08 at 2011-12-07 18:38:37:
那条语句的确可以画出点来,但反应的只是实部之间的关系。
请问楼主画图是想表示什么意思?说不定有其他的替代方案

非常感谢您的回复,根据您的提供的建议,我重新编写了程序,现在解决了,非常感谢您的回答!祝您工作顺利!万事如意!
5楼2011-12-08 09:33:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0817 化学工程 299分求调剂 有科研经历 有二区文章 +18 rare12345 2026-03-18 18/900 2026-03-19 22:36 by 学员8dgXkO
[考博] 申博26年 +3 八6八68 2026-03-19 3/150 2026-03-19 19:43 by nxgogo
[考研] 本人考085602 化学工程 专硕 +17 不知道叫什么! 2026-03-15 19/950 2026-03-19 15:06 by 尽舜尧1
[考研] 一志愿天津大学化学工艺专业(081702)315分求调剂 +11 yangfz 2026-03-17 11/550 2026-03-19 15:06 by houyaoxu
[考研] 085600材料与化工调剂 324分 +10 llllkkkhh 2026-03-18 12/600 2026-03-19 14:33 by llllkkkhh
[考研] 一志愿985,本科211,0817化学工程与技术319求调剂 +10 Liwangman 2026-03-15 10/500 2026-03-19 10:25 by 无际的草原
[考研] 材料专硕英一数二306 +5 z1z2z3879 2026-03-18 5/250 2026-03-19 07:43 by BruceLiu320
[考研] 354求调剂 +4 Tyoumou 2026-03-18 7/350 2026-03-18 21:45 by Tyoumou
[考研] 材料专业求调剂 +5 hanamiko 2026-03-18 5/250 2026-03-18 20:19 by 星空星月
[考研] 331求调剂(0703有机化学 +7 ZY-05 2026-03-13 8/400 2026-03-18 14:13 by 007_lilei
[考研] 304求调剂 +12 小熊joy 2026-03-14 13/650 2026-03-18 12:34 by Linda Hu
[考研] 材料专硕326求调剂 +6 墨煜姒莘 2026-03-15 7/350 2026-03-17 17:10 by ruiyingmiao
[考研] 考研调剂 +3 淇ya_~ 2026-03-17 5/250 2026-03-17 09:25 by Winj1e
[考研] 283求调剂 +3 听风就是雨; 2026-03-16 3/150 2026-03-17 07:41 by 热情沙漠
[考研] 中科院材料273求调剂 +4 yzydy 2026-03-15 4/200 2026-03-16 15:59 by Gaodh_82
[考研] 080500,材料学硕302分求调剂学校 +4 初识可乐 2026-03-14 5/250 2026-03-14 21:08 by peike
[考研] 中科大材料与化工319求调剂 +3 孟鑫材料 2026-03-14 3/150 2026-03-14 20:10 by ms629
[考研] 297一志愿上交085600求调剂 +5 指尖八千里 2026-03-14 5/250 2026-03-14 17:26 by a不易
[考研] 304求调剂 +7 7712b 2026-03-13 7/350 2026-03-13 21:42 by peike
[考研] 290求调剂 +3 ADT 2026-03-13 3/150 2026-03-13 10:19 by peike
信息提示
请填处理意见