作者a78914124 (交大狗鼻哥)
看板MATLAB
标题[问题]fzero问题
时间Mon Dec 2 17:05:23 2013
我是个超级菜鸟 痾
到现在只有写作业画图会用到
今天写一个地方
M file
function f = myfun(x,s,er)
f=1/er*x*tan(x)-sqrt(s^2-x^2);
--------------------------------------------------------------------------
command
er=2.5;
d=10^(-3);
c=3*10^8;
ftm0=0*c/(2*pi*d*sqrt(er-1));
ftm1=pi*c/(2*pi*d*sqrt(er-1));
fte0=pi/2*c/(2*pi*d*sqrt(er-1));
fte1=3*pi/2*c/(2*pi*d*sqrt(er-1));
gap=10^5;
f=0:gap:10^11;
v=2*pi/c*d*sqrt(er-1)*f;
k1=2*pi*f/c*sqrt(er);
k0=2*pi*f/c;
for i=1:length(v)
s=v(i);
fx(i)=fzero(@(x) myfun(x,s,er),[0,v(i)]);
end
p=fx/d;
beta=sqrt(k1.^2-p.^2);
alphat=sqrt(k1.^2-k0.^2-p.^2);
plot(f/10^9,beta,f/10^9,alphat,f/10^9,k1,f/10^9,k0)
legend('\beta','\alphat','k1','k0')
一直出现??? Error using ==> fzero at 293
The function values at the interval endpoints must differ in sign.
不过我根本看不懂= =
网路上找的solution也不太懂= =
想上来请教大大解惑一下...感激不尽\
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.13.25
1F:→ LiamIssac:function长怎样? monotone? 12/03 00:59
2F:推 alamabarry:至少初始区间两边要变号? 勘根定理 12/04 10:23
3F:→ alamabarry:还有for回圈不要用i 跟j 不然你写到复数会哭死 12/04 10:24