zhaojia 发表于 2009-9-6 16:20

matlab中二重高斯积分的函数quad2dg的问题

为计算有限元,从网络上找到一个计算二重矩形高斯积分的积分函数quad2dg,其使用方法举例如下:
>>quad2dg('(x.^2.*y)',0,1,0,1) 即可以得到其结果    0.1667
我的问题是我的表达式是用一个变量表示的如:u=x.^2.*y
现在我该如何对u进行积分呢?
我试过各种形式如:quad2dg('u',0,1,0,1) 、quad2dg(u,0,1,0,1) 、quad2dg('(u)',0,1,0,1) 、quad2dg('inline(u)',0,1,0,1) 、quad2dg(inline(u),0,1,0,1) 等都提示有错误。我把quad2dg的代码上传到附件中。
请高手帮帮我。我该如何写这个积分。

ChaChing 发表于 2009-9-6 19:20

试了下LZ所附之程序, 结论如下
LZ取得的程序, fun仅支援两种方式, 一为直接给定如quad2dg('(x.^2.*y)',0,1,0,1), 另一为fun函数如quad2dg(u,0,1,0,1), 但需另定一u function!
并无支援其他方式的输入, 除非修改下程序, 如在74行前加些判断及转换! 自个儿试吧

wxmrm 发表于 2012-4-4 07:56

这个是计算二重积分的,高斯积分点的选择在哪里

zsy7758758 发表于 2012-10-31 19:19

{:{39}:}

zsy7758758 发表于 2012-10-31 19:20

我遇到了相同的问题,我是要写成M函数,然后在去积分...结果也是报错...

ChaChing 发表于 2012-10-31 22:05

zsy7758758 发表于 2012-10-31 19:20 static/image/common/back.gif
我遇到了相同的问题,我是要写成M函数,然后在去积分...结果也是报错...

LS不是搜索到了吗? 原来以前也试过并回应过!
真是老了记性差, 还重看了help!
2F不是给了引导了!?

zsy7758758 发表于 2012-11-1 15:11

function fun=test_sy(x,y)

fun = 1./( sqrt(x + y) .* (1 + x + y).^2 );

>> quad2d(@test_sy,0,1,2,9)


给出个例子,造福大家...{:{39}:}

ans =

    0.0937

huanmie91 发表于 2012-11-6 16:29

多谢分享
页: [1]
查看完整版本: matlab中二重高斯积分的函数quad2dg的问题