matlab积分画图问题,急!!

F是关于x和y的二元函数,而我要把x积分掉使F成为y的函数,并画图。但是我的F的表达式很复杂,用int求的时候不能给出解析表达式,也画不了图。我的问题是:能不能用int做... F是关于x和y的二元函数,而我要把x积分掉使F成为y的函数,并画图。但是我的F的表达式很复杂,用int求的时候不能给出解析表达式,也画不了图。我的问题是:
能不能用int做,不要表达式只要图像。(现在的情况是表达式求不出,程序根本不给你画图)
于是我想用数值积分,但是这个问题的积分限里面有变量y,而不是具体的数字,这能用数值积分做么???求大神给个简单的代码
展开
 我来答
tianxiawulang
推荐于2016-11-21 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2551万
展开全部

这个问题的困难不在于积分限里有变量,而在于积分限里有无穷大。

如果用数值积分,quad系列函数都不能处理积分区域为无界的情况,但2012a引入了integral系列新的数值积分函数可以处理。

 

不知道你的函数F(x,y)表达式,这里举个例子来说明。

 

假设F(x,y)是二元平方指数函数F(x,y)=exp(-(x^2+y^2))(这个函数其实是可以用int积分的,不过正好可以对符号和数值两种方法进行比较)。如果用符号积分

syms x y
Fxy=exp(-(x^2+y^2));
Fy=int(Fxy,x,y,inf)
ezplot(Fy)

如果用数值积分:

Fxy=@(x,y)exp(-(x.^2+y.^2));
Fy=@(y)integral(@(x)Fxy(x,y),y,inf);
ezplot(Fy)

可以看到,两种方法的结果一致,这验证了数值方法的正确性。

追问
您好,我的Fxy超级复杂,有很多中间变量,还有对x的1阶2阶导数。比如说a=2x+7;b=a^(2xy);c=diff(a+b,2);Fxy=a+b+c (我这个例子太简单,都能直接带进去)这时候语句怎么写呢?而且我注意到您的第一句里x和y后面都有个“.",这种有中间变量的情况下哪些xy后面要有点呢?要写a=2x.+7??
追答

我用的是匿名函数,只适合单个表达式的场合,如果你的Fxy计算比较繁琐,应该考虑写成m文件。

 

加点的地方表示点运算,也称为数组运算,这是MATLAB里比较有特色的一种基本运算符。与通常的矩阵运算不同,点运算是对数组中每个元素进行的(可以看成是对数组中每个元素进行循环),而矩阵运算是按照特定的规则进行。

 

矩阵加减法运算本来就是逐个元素进行的,所以不存在对应的点运算,而其它几种运算符(乘、左除、右除、乘方)都有对应的点运算。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式