intgauss.m
来自「高斯积分算法」· M 代码 · 共 39 行
M
39 行
function q=IntGauss(ff,aa,bb,nn,AK,XK)
ta=(bb-aa)./2;
tb=(aa+bb)./2;
switch nn
case 1,
q=2.*ta.*subs(sym(ff),findsym(ff),tb);
case 2,
q=ta.*(subs(sym(ff),findsym(sym(ff)),ta.*0.5773503+tb)+...
subs(sym(ff),findsym(sym(ff)),-ta.*0.5773503+tb));
case 3,
q=ta.*(0.55555556.*subs(sym(ff),findsym(sym(ff)),ta.*0.7745967+tb)+...
0.55555556.*subs(sym(ff),findsym(sym(ff)),-ta.*0.7745967+tb)+...
0.88888889.*subs(sym(ff),findsym(sym(ff)),tb));
case 4,
q=ta.*(0.3478548.*subs(sym(ff),findsym(sym(ff)),ta.*0.8611363+tb)+...
0.3478548.*subs(sym(ff),findsym(sym(ff)),-ta.*0.8611363+tb)+...
0.6521452.*subs(sym(ff),findsym(sym(ff)),ta.*0.3398810+tb)...
+0.6521452.*subs(sym(ff),findsym(sym(ff)),-ta.*0.3398810+tb));
case 5,
q=ta.*(0.2369269.*subs(sym(ff),findsym(sym(ff)),ta.*0.9061793+tb)+...
0.2369269.*subs(sym(ff),findsym(sym(ff)),-ta.*0.9061793+tb)+...
0.4786287.*subs(sym(ff),findsym(sym(ff)),ta.*0.5384693+tb)...
+0.4786287.*subs(sym(ff),findsym(sym(ff)),-ta.*0.5384693+tb)+...
0.5688889.*subs(sym(ff),findsym(sym(ff)),tb));
case 7
q=ta.*(0.1294849662.*subs(sym(ff),findsym(sym(ff)),ta.*0.9491079123+tb)+...
0.1294849662.*subs(sym(ff),findsym(sym(ff)),-ta.*0.9491079123+tb)+...
0.2797053915.*subs(sym(ff),findsym(sym(ff)),ta.*0.7415311856+tb)...
+0.2797053915.*subs(sym(ff),findsym(sym(ff)),-ta.*0.7415311856+tb)+...
0.3818300505.*subs(sym(ff),findsym(sym(ff)),ta.*0.4058451514+tb)...
+0.3818300505.*subs(sym(ff),findsym(sym(ff)),-ta.*0.4058451514+tb)+...
0.4179591837.*subs(sym(ff),findsym(sym(ff)),tb));
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?