MATLAB绘制平面填充图入门详解

您所在的位置:网站首页 平面构成填充图案的方法有 MATLAB绘制平面填充图入门详解

MATLAB绘制平面填充图入门详解

2023-08-14 07:44| 来源: 网络整理| 查看: 265

一、引言

在画图的时候,为了让图形更加清晰突出,往往需要对某一条或几条曲线围成的区域进行填冲颜色,以得到填充图。对于平面图形的填充,可以matlab的命令fill和area等实现。

二、fill命令的简单用法

基于语法: 1)fill(x, y, ‘color’) 功能:以x为横坐标,y为纵坐标,绘制同色填充的区域图。 (1)如果(x,y)组成的图形式闭曲线,则用颜色color填充该闭区域; (2)如果(x,y)组成的图形是曲线段,则填充以曲线段为上曲边,该曲线段的两个端点连城的直线为另外一条边,生成封闭区域,再用颜色color填充该区域; (3)color可以是单一颜色,如r、g、b等,也可以是颜色矩阵,此时必须与x和y同维数。 2) fill(x1, y1, ‘color1’, x2, y2, ‘color2’, … ) 功能:绘制多个填充区域图,其中以x1为横坐标,y1为纵坐标,围成一个闭区域(非封闭则自动补充曲线端点的连线,以构成闭区域),以x2为横坐标,y2为纵坐标,围成另一个闭区域,并分别用相应的颜色填充。

例1:绘制对称区间上正态分布概率密度曲线填充图 参考代码如下:

clear all clc %绘制正态概率密度函数对应的填充图 x1 = [ -8 : 0.2 : 8 ]; y1 = 2 * exp( -( x1 ).^2 / 2 ); fill( x1, y1, 'b' ) hold on %绘制非对称区间上正态概率密度函数对应的填充图 x2 = [ 1: 0.1 : 10 ]; y2 = -2 * exp( -( x2 - 2 ).^2 / 2 ); fill( x2, y2, 'r' ) title( ' fill demo ' )

运行结果: 在这里插入图片描述 上面的图形也可以使用如下代码实现,也就是使用在fill中同时绘制两个图形。代码如下:

clear all clc x1 = [ -8 : 0.2 : 8 ]; y1 = 2 * exp( -( x1 ).^2 / 2 ); x2 = [ 1: 0.1 : 10 ]; y2 = -2 * exp( -( x2 - 2 ).^2 / 2 ); fill( x1, y1, 'b', x2, y2, 'r' ) title( ' fill demo ' )

例2: 使用颜色矩阵绘制填充图。 参考代码如下:

x3 = [ 1 : 0.5 : 5 ]; y3 = x3.^2; c = [ randn(length(x3), 1) ];%颜色矩阵,可以根据自己的需要指定 fill( x3, y3, c ) hold on y4 = -x3.^2; fill( x3, y4, 'c' )%此处的c是青色 title( 'color matris fill demo' )

运行结果: 在这里插入图片描述

三、area命令的简单用法

基本语法 1)area(x, y, ‘name1’, value1, ‘name2’, value2, …) 功能:绘制曲线段(x,y)与x轴围成封闭图形的同色填充的区域图。 name的常用值如下: FaceColor:填充的颜色,其值必须是rgb格式的颜色数组 EdgeColor:边缘线的颜色,其值必须是rgb格式的颜色数组 FaceAlpha:透明度,其值是0~1之间的实数 LineStyle:线元属性,即用什么样图元绘图,例如‘-’表示直线,‘:’表示虚线 2)area(X) 功能:X为矩阵,以 列 为单位绘制曲线,并用同色填充 例3:绘制曲线y=x^2在[-1,1]区间上的一段与x轴围成封闭图形的填充图。 参考代码:

clear all clc x = [ -1 : 0.01 : 1 ]; y = x.^2 ; area( x, 2*y, 'FaceColor', [ 1, 0, 0 ] ) axis( [ -2, 2, 0, 2 ] )

运行结果: 在这里插入图片描述 例4:绘制正态概率密度函数曲线的填充图 参考代码如下:

clear all clc x = [ -8 : 0.2 : 8 ]; y1 = 0.6 * exp( -(x+3).^2 / 2 ); area( x, y1, 'FaceColor', [ 0, 1, 1 ], 'FaceAlpha', 0.5 ); hold on y2 = 0.5 * exp( -x.^2 / 2 ); area( x, y2, 'FaceColor', [ 1, 0, 1 ], 'LineStyle', ':', 'FaceAlpha', 0.5 ); y3 = 0.4 * exp( -(x-2).^2 / 2 ); area( x, y3, 'FaceColor', [ 1, 1, 0 ], 'LineStyle', '-.', 'FaceAlpha', 0.6 ); %也可以使用函数normpdf获取指定均值和方差的正态分布概率密度曲线上的纵坐标 y4 = 0.2 * normpdf( x/5, 0, 1 ); area( x, y4, 'FaceColor', [ 0.5, 0.8, 0.2 ], 'FaceAlpha', 0.6, 'EdgeColor', [ 1, 0, 0 ] );

运行结果: 在这里插入图片描述 例5:绘制5阶魔方矩阵的填充图 参考代码如下:

clear all clc x = magic(5) area( x )

运行结果: 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3