24小时热门版块排行榜    

查看: 2201  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 265求调剂 +4 梁梁校校 2026-03-19 4/200 2026-03-20 00:03 by 23Postgrad
[考研] 一志愿吉林大学材料学硕321求调剂 +9 Ymlll 2026-03-18 12/600 2026-03-20 00:01 by 23Postgrad
[考研] 材料学硕318求调剂 +5 February_Feb 2026-03-19 5/250 2026-03-19 23:51 by 23Postgrad
[考研] 321求调剂 +8 何润采123 2026-03-18 10/500 2026-03-19 16:46 by 何润采123
[考研] 324分 085600材料化工求调剂 +3 llllkkkhh 2026-03-18 3/150 2026-03-19 14:22 by houyaoxu
[考研] 一志愿 西北大学 ,070300化学学硕,总分287,双非一本,求调剂。 +3 晨昏线与星海 2026-03-19 3/150 2026-03-19 13:36 by houyaoxu
[考研] 330求调剂 +3 小材化本科 2026-03-18 3/150 2026-03-18 21:55 by 无懈可击111
[考研] 344求调剂 +6 knight344 2026-03-16 7/350 2026-03-18 20:13 by walc
[考研] 299求调剂 +5 △小透明* 2026-03-17 5/250 2026-03-18 11:49 by 尽舜尧1
[考研] 303求调剂 +4 睿08 2026-03-17 6/300 2026-03-18 11:01 by Iveryant
[考研] 考研求调剂 +3 橘颂. 2026-03-17 4/200 2026-03-17 21:43 by 有只狸奴
[考研] 277调剂 +5 自由煎饼果子 2026-03-16 6/300 2026-03-17 19:26 by 李leezz
[硕博家园] 湖北工业大学 生命科学与健康学院-课题组招收2026级食品/生物方向硕士 +3 1喜春8 2026-03-17 5/250 2026-03-17 17:18 by ber川cool子
[考研] 278求调剂 +3 Yy7400 2026-03-13 3/150 2026-03-17 08:24 by laoshidan
[考研] [导师推荐]西南科技大学国防/材料导师推荐 +3 尖角小荷 2026-03-16 6/300 2026-03-16 23:21 by 尖角小荷
[考研] 一志愿211 0703方向310分求调剂 +3 努力奋斗112 2026-03-15 3/150 2026-03-16 16:44 by houyaoxu
[考研] 求老师收留调剂 +4 jiang姜66 2026-03-14 5/250 2026-03-15 20:11 by Winj1e
[考研] 26考研一志愿中国石油大学(华东)305分求调剂 +3 嘉年新程 2026-03-15 3/150 2026-03-15 13:58 by 哈哈哈哈嘿嘿嘿
[考研] 070305求调剂 +3 mlpqaz03 2026-03-14 4/200 2026-03-15 11:04 by peike
[考研] 一志愿哈工大材料324分求调剂 +5 闫旭东 2026-03-14 5/250 2026-03-14 14:53 by 木瓜膏
信息提示
请填处理意见