2016-09-27 107 views
0

我正在寻找一个matlab命令,它将一个已知函数集成到一个三角形内(这是由他的节点知道的)。我有3个坐标(x1,y1)(x2,y2)(x3,y3),它们定义了一个三角形,我知道在三角形内部存在已知的函数f(x,y)。我正在寻找一个计算f在三角形上积分的命令。积分在三角形内

+1

你能否提供一些你已经试过的代码和数据点 – Finn

+0

我在原始问题中增加了更多的信息。因为即时通讯寻找一个命令没有代码,但这个想法很简单。我希望你能帮我 – user2600366

+0

尝试'triquad'进行数值整合(不是内置的,你可以很容易在google上找到) – Dohyun

回答

0

在Matlab中使用integral2命令。 Documentation中的第一个例子将涵盖您的案例。要使三角形的一边与x轴平行,可以将三角形乘以rotation matrix,然后在x轴上“移动”它。

请注意,如果您正确执行substitutions,积分不会影响此转换。 这种转换可以使编写代码变得更容易,但他们不必使用integral2

+0

那么,我也需要更新F函数,你能写出它吗?假设给出了三个坐标,并且在已知函数中还有F. – user2600366

+0

F是从interuplated数据中收集的函数。它不像F(x,y)= x那样是解析的。 – user2600366

+0

如果你的数据是插值的,你可以使用这个:http://stackoverflow.com/questions/11559025/define-function-as-interpolation-of-x-y-data,然后将句柄设置为'integral2'。 – StefanM