argye 发表于 2006-11-17 10:10

是否有人能提供一下高斯积分表

一般教材上的高斯积分表只是局限在6阶以内,有没有人能提供下较为详细的高斯积分权重表格

yekun 发表于 2006-11-17 14:10

你可以编程序解决这个问题

hao1982 发表于 2006-11-19 12:36

可参考我刚发的帖子,里面有计算程序,MATLAB语言的

kerbcurb 发表于 2006-12-25 11:53

8阶
long double Roots =
      {
            -0.9602898564975363,
            -0.7966664774136268,
            -0.525532409916329,
            -0.1834346424956498,
            0.1834346424956498,
            0.525532409916329,
            0.7966664774136268,
            0.9602898564975363
      };

    long double Weights =
      {
            0.1012285362903768,
            0.2223810344533745,
            0.3137066458778874,
            0.362683783378362,
            0.362683783378362,
            0.3137066458778874,
            0.2223810344533745,
            0.1012285362903768
      };
16阶

long double Roots =
      {
            -0.9894009349916499,
            -0.9445750230732326,
            -0.8656312023878318,
            -0.755404408355003,
            -0.6178762444026438,
            -0.4580167776572274,
            -0.2816035507792589,
            -0.09501250983763744,
            0.09501250983763744,
            0.2816035507792589,
            0.4580167776572274,
            0.6178762444026438,
            0.755404408355003,
            0.8656312023878318,
            0.9445750230732326,
            0.9894009349916499
      };

    long double Weights =
      {
            0.02715245941175406,
            0.06225352393864778,
            0.0951585116824929,
            0.1246289712555339,
            0.1495959888165768,
            0.1691565193950026,
            0.1826034150449236,
            0.1894506104550685,
            0.1894506104550685,
            0.1826034150449236,
            0.1691565193950026,
            0.1495959888165768,
            0.1246289712555339,
            0.0951585116824929,
            0.06225352393864778,
            0.02715245941175406
      };

[ 本帖最后由 xinyuxf 于 2006-12-26 09:48 编辑 ]

yangshengfei 发表于 2007-5-27 22:47

求高斯点及系数程序

format long
syms g
n=10;                  % n个积分点
S=zeros(1,n);
d=zeros(1,n);
% 积分点
f1=(g^2-1)^n;
f2=diff(f1,'g',n);
f3=1;
for i=1:n
    f3=f3*i;
end
f4=1/(2^n*f3);
f=f2*f4;
S=double(solve(f,g));
S
% 积分系数
w=1;
for i=1:n
    w=w*(g-S(i));
end
w1=diff(w,'g',1);
for i=1:n
    a=w/(g-S(i));
    b=1/(subs(w1,'g',S(i)));
    c=a*b;
    d(i)=double(int(c,g,-1,1));
end
d

smtmobly 发表于 2007-5-31 10:16

function value=legen(M)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%[-1,1]上的积分
%gauss-legendre求积公式的权及结点
%前M项为结点坐标,后M项为权。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
N=M+1;
cenN=zeros(1,(2*N+1));
cenM=zeros(1,(2*M+1));
root_poly=zeros(1,2*N);
nod_value=zeros(1,M);
for i=N:(-1):1
    cenN(1+2*i)=(-1)^i*nchoosek(N,i);
end
cenN(1)=1;
k=cenN;
for i=1:N
k=polyder(k);
end
leg_poly=(-1)^N/(2^N*jc(N))*k;
for i=M:(-1):1
    cenM(1+2*i)=(-1)^i*nchoosek(M,i);
end
cenM(1)=1;
kk=cenM;
for i=1:M
kk=polyder(kk);
end
leg_polyM=(-1)^M/(2^M*jc(M))*kk;

root_poly=roots(leg_polyM);
ss=leg_polyM;
for i=1:M
nod_value(i)=2/(N*polyval(polyder(leg_polyM),root_poly(i))*polyval(leg_poly,root_poly(i)));
end;
value=[root_poly
    nod_value'];

hunter_009 发表于 2007-6-9 21:21

上面的太复杂了,来个简单的吧.
function =GaussLe(n);
%计算高斯-勒让德积分点及权值

N=1:n-1;
Beta=N./sqrt(4*N.^2-1);
G=diag(Beta,-1)+diag(Beta,1);
=eig(G);
=sort(diag(D));
w=2*V(1,xi).^2;
x=x';

[ 本帖最后由 xinyuxf 于 2007-6-12 14:15 编辑 ]

vibration 发表于 2007-6-13 09:58

如图,来自《有限单元法》一书

zhpurple 发表于 2007-6-13 11:17

原帖由 vibration 于 2007-6-13 09:58 发表 http://www.chinavib.com/forum/images/common/back.gif
如图,来自《有限单元法》一书

呵呵,楼主想要的是高于6个积分点的高斯积分表,不过,还是谢谢你提供的资料并注明了资料出处。

billy211 发表于 2011-12-24 23:49

{:{07}:}

billy211 发表于 2011-12-24 23:49

{:{07}:}
页: [1]
查看完整版本: 是否有人能提供一下高斯积分表