Re: quad 積分的方式已回收
※ 引述《ckjean (BB)》之銘言:
: a=0.01;k=2*pi;
: for n=1:N+1
: z(n)=(n-1)*L/N;
: end
: for i=1:N
: M(i)=(z(i)+z(i+1))/2;
: end
: for m=1:N
: for n=1:N-1
: f=@(x)exp(-j*k*sqrt((M(m)-x)).^2+a.^2))/(4*pi*sqrt((M(m)-x).^2+a.^2))
1 23 4 4 32 1?
括號數量有問題 我標了對應的數字 請自己參考你的數學方程式修正
還有 M(m)+x 與 a 如果是m by n的矩陣資料格式 才需要使用.^
但a應該是1by1的資料 所以直接a^2就可以了
而M(m)+x如果是矩陣資料則後面的除號前也要加點
如果也是單值(看起來應該是)那(M(m)+x)^2就可以了
不過加點不會造成錯誤
: +exp(-j*k*sqrt((M(m)+x).^2+a.^2))/(4*pi*sqrt((M(m)+x).^2+a.^2));
: A(m,n)=quad(f,M(n),M(n+1))
: end
: end
: 幫DEBUG
: ※ 引述《ckjean (BB)》之銘言:
: : for i=1:10
: : Z(i)=(i-1)*10
: : end
: : for m=1:10
: : f=@(x) 某函式
: : A(m)=quad(f,Z(m),Z(m+1))
: : end
: : 請問這樣的積分哪裡有問題呢 一值出錯 在A(m)這列
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 134.208.0.181
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章