MATLAB实例绘制隐函数的区域填充图形

摘要:当我们在对论文中的隐函数进行实际的区域分析的时候,可以对论文中的部分区域进行不同颜色的填充,方便我们在论文分析原因的时候更直观的体现差异性和不同政策或情境下的结果。MATLAB中具备填充函数功能的函数有fill函数、fill3函数、area函数、patch函数

当我们在对论文中的隐函数进行实际的区域分析的时候,可以对论文中的部分区域进行不同颜色的填充,方便我们在论文分析原因的时候更直观的体现差异性和不同政策或情境下的结果。MATLAB中具备填充函数功能的函数有fill函数、fill3函数、area函数、patch函数。

1.相关函数介绍

(1)patch函数绘制一个或多个填充多边形区域

此 MATLAB 函数 使用 X 和 Y 的元素作为每个顶点的坐标,以绘制一个或多个填充多边形区域。patch 以您指定顶点的顺序连接这些顶点。要创建一个多边形,请将 X 和 Y 指定为向量。要创建多个多边形,请将 X 和 Y 指定为矩阵,其中每一列对应于一个多边形。C 决定多边形的颜色。

patch(X,Y,C)patch(X,Y,Z,C)patch('XData',X,'YData',Y)patch('XData',X,'YData',Y,'ZData',Z)patch('Faces',F,'Vertices',V)patch(S)patch(___,Name,Value)patch(ax,___)p = patch(___)

(2) area 函数可以填充区二维绘图

此 MATLAB 函数 绘制 Y 中的值对 x 坐标 X 的图。然后,该函数根据 Y 的形状填充曲线之间的区域:如果 Y 是向量,则该图包含一条曲线。area 填充该曲线和水平轴之间的区域。如果 Y是矩阵,则该图对 Y 中的每列都包含一条曲线。area 填充这些曲线之间的区域并堆叠它们,从而 显示在每个 x 坐标处每个行元素在总高度中的相对量。

area(X,Y)area(Y)area(___,basevalue)area(___,Name,Value)area(ax,___)a = area(___)

2.实例

程序

clc;%清除命令行窗口clear all;%清除工作区变量close all;%关闭图形窗口syms kx ky %定义变量%参数赋值k1=10;k2=3;f=1;k4=4;k8=0.1;k5=0.4;k6=2;k3=3;j=1;k7=0.3;FC=@(kx,ky)((2.*(j - k6).^2.*(k8 - kx).*k3.^2 + (k2.^2.*f.*k8.^2 + ...((-4.*j.*k5 + 4.*k6.*k5 - 2.*k2).*k1 + 2.*f.*k2.^2 - 2.*k2.*k4.*k7 ...+ 8.*ky).*k8 + 4.*kx.*(k5.*(j - k6).*k1 - 2.*ky)).*k3 ...+ 2.*k1.^2.*k5.^2.*(k8 - kx))./(8.*k3));fimplicit(FC,[0 0.1 0 20],'blue','LineWidth',0.5,'Linestyle','--')h = fimplicit(FC,[0 0.1 0 20],'blue','LineWidth',1,'Linestyle','-')%获取x轴坐标数据x=get(h,'XData');y=get(h,'YData');hold on;x1 = [x 0.0749 0.08 0.09 0.1];y1 = [y 20 20 20 20];area(x1,y1,'FaceColor',[0.5 0.5 0.8])%绘制区域图形hold on;h = fimplicit(FC,[0 0.0749 0 20],'blue','LineWidth',1,'Linestyle','-')x=get(h,'XData');y=get(h,'YData');hold on;y2 = zeros(1,length(x))+20;x1 = [x 0.0749 0];y1 = [y 20 20];patch(x1,y1,[0.8 0.8 0.2])xlabel('k_x')ylabel('k_y')

运行结果

3.参考内容

[1] MathWork官方帮助文档

本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。

作 者 | 郭志龙

来源:小乐课堂

相关推荐