matlab积分画图问题,急!!
F是关于x和y的二元函数,而我要把x积分掉使F成为y的函数,并画图。但是我的F的表达式很复杂,用int求的时候不能给出解析表达式,也画不了图。我的问题是:能不能用int做...
F是关于x和y的二元函数,而我要把x积分掉使F成为y的函数,并画图。但是我的F的表达式很复杂,用int求的时候不能给出解析表达式,也画不了图。我的问题是:
能不能用int做,不要表达式只要图像。(现在的情况是表达式求不出,程序根本不给你画图)
于是我想用数值积分,但是这个问题的积分限里面有变量y,而不是具体的数字,这能用数值积分做么???求大神给个简单的代码 展开
能不能用int做,不要表达式只要图像。(现在的情况是表达式求不出,程序根本不给你画图)
于是我想用数值积分,但是这个问题的积分限里面有变量y,而不是具体的数字,这能用数值积分做么???求大神给个简单的代码 展开
展开全部
这个问题的困难不在于积分限里有变量,而在于积分限里有无穷大。
如果用数值积分,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里比较有特色的一种基本运算符。与通常的矩阵运算不同,点运算是对数组中每个元素进行的(可以看成是对数组中每个元素进行循环),而矩阵运算是按照特定的规则进行。
矩阵加减法运算本来就是逐个元素进行的,所以不存在对应的点运算,而其它几种运算符(乘、左除、右除、乘方)都有对应的点运算。
东莞大凡
2024-08-07 广告
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |