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的代码上传到附件中。
请高手帮帮我。我该如何写这个积分。 试了下LZ所附之程序, 结论如下
LZ取得的程序, fun仅支援两种方式, 一为直接给定如quad2dg('(x.^2.*y)',0,1,0,1), 另一为fun函数如quad2dg(u,0,1,0,1), 但需另定一u function!
并无支援其他方式的输入, 除非修改下程序, 如在74行前加些判断及转换! 自个儿试吧 这个是计算二重积分的,高斯积分点的选择在哪里 {:{39}:} 我遇到了相同的问题,我是要写成M函数,然后在去积分...结果也是报错... zsy7758758 发表于 2012-10-31 19:20 static/image/common/back.gif
我遇到了相同的问题,我是要写成M函数,然后在去积分...结果也是报错...
LS不是搜索到了吗? 原来以前也试过并回应过!
真是老了记性差, 还重看了help!
2F不是给了引导了!? 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 多谢分享
页:
[1]