使用matlab求二重积分(包括矩形区域与非矩形区域)

开头

今天做matlab数学实验,求个二重积分(非矩形区域)让我搞了半天,我好菜呀!!!
好在现在解决了,在这记录一下,如果有朋友遇到相似问题,希望我的记录可以帮助到你。。。
吼吼吼 。开始

求解方法

题目
《使用matlab求二重积分(包括矩形区域与非矩形区域)》被积区间图像
画图代码:

clc,clear all
syms x y;
ezplot('y^2-x',[0,8,-4,4]);
hold on;
ezplot('x-2',[0,8,-4,4]);
hold off

《使用matlab求二重积分(包括矩形区域与非矩形区域)》然后就要求解了。
求解
第一步先求交点:

[x1,y1]=solve('y^2-x=0','x-2=y');

得到如下结果:
《使用matlab求二重积分(包括矩形区域与非矩形区域)》
然后就可以求积分了。
求二重积分我们通常使用dblquad()函数。
dblquad(‘f’,xmin,xmax,ymin,ymax)
这时我们输入如下代码:

syms x y;dblquad('x*y',y^2,y+2,-1,2)

结果matlab会报错。
这是因为dblquad()只能进行矩形区域的积分。于是我们想到可以将构造如下函数:
《使用matlab求二重积分(包括矩形区域与非矩形区域)》由此我第一次写出了如下错误代码:

f(x,y)=x*y.*(x>y^2&x<(y+2));
dblquad(f,1,4,-1,2)

然而这样并不行,就这样。。。
one hundred years later…

终于我找到了另一种正确办法:

dblquad(@(x,y) x*y.*(x>=y^2&x<=y+2),1,4,-1,2)

这样就可以了。。哈哈,我好智障。
希望,对你有所帮助。

    原文作者:KingKong.
    原文地址: https://blog.csdn.net/weixin_43221105/article/details/105300337
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞