[問題]fzero問題

看板MATLAB作者 (交大狗鼻哥)時間11年前 (2013/12/02 17:05), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
我是個超級菜鳥 痾 到現在只有寫作業畫圖會用到 今天寫一個地方 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

12/03 00:59, , 1F
function長怎樣? monotone?
12/03 00:59, 1F

12/04 10:23, , 2F
至少初始區間兩邊要變號? 勘根定理
12/04 10:23, 2F

12/04 10:24, , 3F
還有for迴圈不要用i 跟j 不然你寫到複數會哭死
12/04 10:24, 3F
文章代碼(AID): #1Id4rPkB (MATLAB)
文章代碼(AID): #1Id4rPkB (MATLAB)