北京石油化工学院2026年研究生招生接收调剂公告
查看: 2845  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

Illusionist

银虫 (正式写手)

[求助] matlab求解色散方程,求助

m=1;
h=1.5E-6;
n0=1.504;
n1=2.2899;
n2=1;
K0=5.927E+6;
pi=3.141592653;
K=((K0×n1)^2-B^2)^(1/2)
P0=(B^2-(K0×n0)^2)^(1/2)
P2=(B^2-(K0×n2)^2)^(1/2)
hK=m×pi+artan(P0/K)+artan(P2/K)
精确求解B

我写的代码,但是出现一些问题

clear
clc
m=1;
h=1.5E-6;
n0=1.504;
n1=2.2899;
n2=1;
K0=5.927E+6;
pi=3.141592653;
syms B

K=((K0*n1)^2-B.^2).^0.5;
P0=(B.^2-(K0*n0)^2).^0.5;
P2=(B.^2-(K0*n2)^2).^0.5;
ya=m*pi+atan(P0./K)+atan(P2./K);
f=fsolve(@(B)ya-K.*h,30);


提示错误信息:
??? Undefined function or method
'full' for input arguments of
type 'sym'.

Error in ==> trustnleqn at 28
Fvec = full(Fvec);

Error in ==> fsolve at 378
    [x,FVAL,JACOB,EXITFLAG,OUTPUT,msgData]=...
   
Error in ==> Untitled at 16
f=fsolve(@(B)ya-K.*h,30);
回复此楼

» 猜你喜欢

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

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

lijie169

铜虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
Illusionist: 金币+20, ★★★很有帮助 2012-05-29 11:35:05
CODE:
clear
clc
m=1;
h=1.5E-6;
n0=1.504;
n1=2.2899;
n2=1;
K0=5.927E+6;
f=fsolve(@(B)func(B,K,k0,n0,n1,n2,m,h),30);
新建一个func.m的文件,写上如下代码,然后条用上面的代码
function fb=func(B,K,k0,n0,n1,n2,m,h)
K=((K0*n1)^2-B.^2).^0.5;
P0=(B.^2-(K0*n0)^2).^0.5;
P2=(B.^2-(K0*n2)^2).^0.5;
ya=m*pi+atan(P0./K)+atan(P2./K);
fb=ya-K.*h;
end

4楼2012-05-29 10:56:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

xcj3630385

木虫 (小有名气)

长江11号

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
Illusionist: 金币+10, ★★★很有帮助, 我试一下··· 2012-05-29 07:55:47
B是数组吗?我想B应该定义成符号变量。
sym(‘B’);且不能是数组乘的形式吧?
我觉得方程还是写成函数的形式比较好。
长江11号
2楼2012-05-28 23:30:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小刘8885

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
Illusionist: 金币+5 2012-05-29 11:33:05
fsolve这句里面的初值30,改一下,可能会有帮助。改成比较接近的值,会加快逼近速度。
3楼2012-05-29 10:23:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Illusionist

银虫 (正式写手)

引用回帖:
4楼: Originally posted by lijie169 at 2012-05-29 10:56:13
clear
clc
m=1;
h=1.5E-6;
n0=1.504;
n1=2.2899;
n2=1;
K0=5.927E+6;
f=fsolve(@(B)func(B,K,k0,n0,n1,n2,m,h),30);
新建一个func.m的文件,写上如下代码,然后条用上面的代码
function fb=func(B,K,k0, ...

还是有提示错误,初值改为1,5,30都不行···
Error in ==> @(B)func(B,K,k0,n0,n1,n2,m,h)


Error in ==> fsolve at 254
            fuser = feval(funfcn{3},x,varargin{:});

Error in ==> Untitled2 at 9
f=fsolve(@(B)func(B,K,k0,n0,n1,n2,m,h),1);
Caused by:
    Failure in initial user-supplied objective function evaluation. FSOLVE cannot continue.
5楼2012-05-29 11:34:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿南航 335分 | 0856 | GPA 4.07 | 有科研经历 +8 cccchenso 2026-03-29 8/400 2026-03-29 23:53 by 我是小康
[考研] 085600,专业课化工原理,320分求调剂 +4 大馋小子 2026-03-29 4/200 2026-03-29 23:12 by Evan_Liu
[考研] 一志愿河北工业大学0817化工278分求调剂 +10 jhybd 2026-03-23 15/750 2026-03-29 21:49 by nanaliuyun
[考研] 311求调剂 +6 冬十三 2026-03-24 6/300 2026-03-29 20:45 by 无际的草原
[考研] 0856材料化工调剂 总分330 +14 zhubinhao 2026-03-27 14/700 2026-03-29 10:01 by Sjndkwm
[考研] 352分-085602-一志愿985 +5 海纳百川Ly 2026-03-29 5/250 2026-03-29 09:57 by Sjndkwm
[考研] 材料学硕333求调剂 +11 北道巷 2026-03-24 11/550 2026-03-29 08:31 by fmesaito
[考研] 0703本科郑州大学求调剂 +3 nhj_ 2026-03-25 3/150 2026-03-28 13:24 by Iveryant
[考研] 调剂 +3 好好读书。 2026-03-28 3/150 2026-03-28 12:04 by 王保杰33
[有机交流] 高温高压反应求助 10+4 chibby 2026-03-25 4/200 2026-03-27 21:08 by BT20230424
[考研] 08开头275求调剂 +4 拉谁不重要 2026-03-26 4/200 2026-03-27 14:12 by Delta2012
[考研] 314求调剂 +3 溪云珂 2026-03-26 3/150 2026-03-27 11:20 by sanrepian
[考研] 材料调剂 +8 匹克i 2026-03-23 8/400 2026-03-27 08:11 by hypershenger
[考研] 324求调剂 +8 hanamiko 2026-03-26 10/500 2026-03-27 08:06 by hypershenger
[考研] 336材料求调剂 +7 陈滢莹 2026-03-26 9/450 2026-03-27 00:20 by wxiongid
[考研] 303求调剂 +6 蓝山月 2026-03-25 6/300 2026-03-25 22:47 by 418490947
[考研] 332求调剂 +6 032500 2026-03-25 6/300 2026-03-25 22:45 by 418490947
[考研] 290分调剂求助 +3 吉祥止止陈 2026-03-25 3/150 2026-03-25 19:58 by barlinike
[考研] 293求调剂 +7 加一一九 2026-03-24 7/350 2026-03-25 12:02 by userper
[考研] 材料考研调剂生 +3 黄粱一梦千年 2026-03-24 3/150 2026-03-24 17:00 by barlinike
信息提示
请填处理意见