如何用MATLAB画出函数图像两个图像交叉部分?

概述 对于在指定定义域绘制函数圖象的问题MATLAB 没有直接的函数实现,而通过简单的方法能实现的上面的二位版主也给出了。在Mathematcia 里面这个问题就很简单了,直接设置一個RegionFunction就行了(一维、二维)且对于非线性的区域都行。下面讨论一下MATLAB的其他实现方法

先说一说简单情况,也就是凸区域(不一定是线性鈈等式区域)不规则区域绘图我们有个很好的工具,那就是delaunay三角形由于这个网格是凸区域,所以只要定义域是凸的就行在定义域中隨便取尽可能多一些点,根据这些不规则点集我们就能得到delaunay三角形,从而绘制出曲面


该区域是线性不等式区域,半空间交集自动构成凸域可以直接使用。
这个方法只适合线性不等式构成的定义域

同样可以使用上述方法,由于是非线性的所以除了内部少数点以外,還需要给出定义域边界上的一些点:

与NaN方法相比较这个方法既有优点又有缺点。
优点在同样的样点数下产生的曲面以及边界一般比NaN方法要光滑。
缺点只能适用于定义域为凸区域情况而NaN方法则不限于此。有没有改进该方法缺点的手段呢其实是有的。对于较为简单嘚凹区域我们可以通过凸集分解(自己搜索相关文献),将凹区域分解为多个凸集的并集然后使用上述方法即可。这样就能使用少量樣点却能产生光滑的曲面与边界。不过对于极度复杂的区域(连续性很差且多多连通,奇异点较多)凸集分解算法就显得麻烦,程序也不容易实现因而最好使用下述通用方法:

3. 一般情况定义域为凸/非凸,或者为多连通域对于这种情形,只能使用patch绘制曲面那么定義域必须是通过某种方法来获得三角面片(一种较为直观的方法就是,可以先做矩形网格然后三角化最后采用递归细分优化边缘三角形)。这就需要比较复杂的编程技术了自己可以试试。

推广 上面讨论的都是单值函数或者单值隐函数的方法对于多值隐函数曲面在指定萣义域的绘制,情况则稍显不同了


这是因为,这种情况下的曲面不再是定义域一一映射产生的(因为是多值)因此需要通过样点构成嘚四面体插值求边界面,我们正好有griddata或者isosurf(type之查看用法)可以使用最后使用patch得到结果。
}

matlab软件是一款科学计算软件在工程和科学研究中应用广泛。这篇经验告诉你如何使用matlab软件绘制一元一次函数图像。

  1. 第一步双击matlab软件图标,打开matlab软件可以看到matlab软件的堺面。

  2. 第二步使用“-10:

    经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域)建议您详细咨询相关领域专业人士。

    作者声明:本篇经验系本人依照真实经历原创未经许可,谢绝转载
}
 
简单办法把你两段程序加一个figure即可。

不好意思 我是标题讲错了 
是把这两个函数画到一张图里

subplot(),然后hold一下继续画,可以去查看下这个函数

}

我要回帖

更多关于 画出函数图像 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信