首页 > 其他 > 详细

《高等数学》(092)——利用Matlab求解曲线积分与曲面积分

时间:2014-02-23 09:01:50      阅读:841      评论:0      收藏:0      [点我收藏+]

今天我们继续学习《高等数学》,下面我们开始吧: 用 Matlab 求解曲线积分与曲面积分,本质上是求解定积分。我们以之前的例子为例: bubuko.com,布布扣 Matlab 代码如下所示:

syms t;
x = t;
y = t^2;
f = sqrt(y);
dx = diff(x, t);
dy = diff(y, t);
ds = sqrt(dx^2 + dy^2);
r = int(f*ds, t, 0, 1);
eval(r)     %将符号结果转换为数值结果

运行结果如下所示: bubuko.com,布布扣 下面是求曲面积分的例子: bubuko.com,布布扣 bubuko.com,布布扣 Matlab 代码如下所示:

syms x y;
z = 1 - x - y;
dzdx = diff(z, x);
dzdy = diff(z, y);
dS = sqrt(1 + dzdx^2 + dzdy^2);
f = x * y * z * dS;

%将变限积分转化为定限积分
syms v;
g1y = 0;
g2y = 1 - y;
f = f * (g2y - g1y);
f = subs(f, x, (1 - v) * g1y + v * g2y);   %将x替换掉

%计算结果
dblquad(inline(f), 0, 1, 0, 1)

运行结果如下所示: bubuko.com,布布扣 由于我们计算的是变限积分,因此用 http://www.qbbox.com/blog/archives/13476 中介绍的方法先将变限积分转化为定限积分,然后再计算。下面是另一个曲面积分的例子: bubuko.com,布布扣 Matlab 代码如下所示:

1 syms x y;
2 z = 1/2 * (x^2 + y^2);
3 dzdx = diff(z, x);
4 dzdy = diff(z, y);
5 dS = sqrt(1 + dzdx^2 + dzdy^2);
6 f = z * dS;

 

%将变限积分转化为定限积分
syms v;
g1y = -sqrt(2 - y^2);
g2y = sqrt(2 - y^2);
f = f * (g2y - g1y);
f = subs(f, x, (1 - v) * g1y + v * g2y);

%计算结果
dblquad(inline(f), 0, 1, -sqrt(2), sqrt(2))

运行结果如下所示: bubuko.com,布布扣 好了,今天我们就先介绍到这里,我们下次再见吧~~  

完成!

《高等数学》(092)——利用Matlab求解曲线积分与曲面积分

原文:http://www.cnblogs.com/littletaotao/p/3561253.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!