声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5807|回复: 10

[计算力学] 是否有人能提供一下高斯积分表

[复制链接]
发表于 2006-11-17 10:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2006-11-17 14:10 | 显示全部楼层
你可以编程序解决这个问题
发表于 2006-11-19 12:36 | 显示全部楼层

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

发表于 2006-12-25 11:53 | 显示全部楼层
8阶
long double Roots[8] =
        {
            -0.9602898564975363,
            -0.7966664774136268,
            -0.525532409916329,
            -0.1834346424956498,
            0.1834346424956498,
            0.525532409916329,
            0.7966664774136268,
            0.9602898564975363
        };

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

long double Roots[16] =
        {
            -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[16] =
        {
            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 编辑 ]

评分

1

查看全部评分

发表于 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

评分

1

查看全部评分

发表于 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'];

评分

1

查看全部评分

发表于 2007-6-9 21:21 | 显示全部楼层
上面的太复杂了,来个简单的吧.
function [x,w]=GaussLe(n);
%计算高斯-勒让德积分点及权值

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

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

评分

1

查看全部评分

发表于 2007-6-13 09:58 | 显示全部楼层
如图,来自《有限单元法》一书
gauss.JPG

评分

1

查看全部评分

发表于 2007-6-13 11:17 | 显示全部楼层


呵呵,楼主想要的是高于6个积分点的高斯积分表,不过,还是谢谢你提供的资料并注明了资料出处。
发表于 2011-12-24 23:49 | 显示全部楼层
发表于 2011-12-24 23:49 | 显示全部楼层
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-24 22:52 , Processed in 0.068234 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表