看板 MATLAB 關於我們 聯絡資訊
我是個超級菜鳥 痾 到現在只有寫作業畫圖會用到 今天寫一個地方 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
LiamIssac:function長怎樣? monotone? 12/03 00:59
alamabarry:至少初始區間兩邊要變號? 勘根定理 12/04 10:23
alamabarry:還有for迴圈不要用i 跟j 不然你寫到複數會哭死 12/04 10:24