数学实验(Matlab绘图基础)

一、二维曲线的绘制

Matlab绘图原理

MATLAB绘图的核心原理基于数据点或函数离散化,通过描点连线生成图形。以下是具体解析:
1.数据离散化

·二维数据通过(x, y)坐标点表示,连续函数需离散化处理(如t=0:0.01:2π)。

·三维图形需提供(x, y, z)三维坐标点集。

2.描点连线

·使用plot函数将离散点连接成线,支持单曲线(如plot(x, y))或多曲线叠加(如plot(x, y1, x, y2))。

·可自定义线型(实线、虚线等)、颜色及标记符号(如'bd-'表示蓝色实线带圆点)。

3.图形定制

·通过axis函数调整坐标轴范围(如axis([xmin xmax ymin ymax]))。

·支持添加图例、网格、误差带等标注(如legend、grid on)。

4.底层实现

·基于句柄绘图方法,提供底层绘图能力,支持开发专业级图形。

**总结 :**MATLAB通过数据离散化、描点连线及丰富的图形参数,实现从基础到复杂的可视化需求,适用于数学计算、数据分析等领域。

Matlab绘图示例

(运行结果截图)

Matlab二维作图

·基本形式

plot(x,y)

**说明:**xy都是向量,则以x中元素为横坐标,y中元素为纵坐标作平面曲线。此时x,y必须具有相同长度

(运行结果截图)

图形的属性

·点和线的基本属性

plot(x,y,string)

**说明:**其中 string 是用单引号括起来的字符串,用来指定图形的属性(点、线的形状和颜色)

图形的基本属性

help plot 查看

图形的其他属性

·标题

title('text')

·坐标轴标注

xlable('text') 或 ylable('text')

·添加图例

legend(string1,string2,...)

·线条的粗细,字体大小,坐标轴属性等

linewidth 指定线条的粗细

markeredgecolor 指定标记的边缘色

markerfacecolor 指定标记表面的颜色

例:

其他相关命令

·显示网格

grid ongrid off

·保持当前窗口的图像

hold onhold off

·新建绘图窗口

figure(n)

同时绘制多个函数图像

二维作图举例

其他相关命令

·划分绘图区域

subplot(m,n,p)

说明:将一个绘图窗口分割成 m*n 个子区域,并 按行从左到右依次编号。p 表示第p 个绘图子区域

图形窗口的分割举例

二、三维图形的绘制

空间三维作图

·三维曲线

plot(x,y,z,s)

绘制三维曲线的参数方程 x=x(t),y=y(t),z=z(t)

空间曲面作图

·绘制由函数z=(x,y) 确定的曲面时,首先需产生一个网格矩阵,然后计算函数在各网格点上的值。

·网格生成函数

[X,Y]=meshgrid(x,y)

说明:x,y为给定的向量, X,Y 是网格划分后得到的网格矩阵

空间曲面作图举例

三、特殊图形绘制

坐标轴控制

·坐标轴控制命令:axis

axis([xmin,xmax,ymin,ymax,zmin,zmax])

·其它调用方式

axis square 正方形显示

axis equal 各坐标轴采用等长刻度

axis on/off 恢复/取消对坐标轴的一切设置

**例:**绘制[-pi/2,pi/2]区间的正切曲线

Matlab 复制代码
x=-pi/2:0.05:pi/2;
y=tan(x);
plot(x,y,'r*')
axis([-pi/2,pi/2,-10,10])

绘制单位圆

Matlab 复制代码
t=-0:pi/50:2*pi;
plot(cos(t),sin(t),'r*')
axis square %观察变化
axis equal

二维统计分析作图

·条形图

bar(x,y,选项)

·阶梯图

stairs(x,y,选项)

·杆图

stem(x,y,选项)

·填充图

fill(x1,y1,选项1,x2,y2,选项2)

**例:**绘制曲线y=2sin(x)

Matlab 复制代码
x=0:pi/10:2*pi;
y=2*sin(x);
subplot(2,2,1);bar(x,y,'g');
title('bar(x,y,"g")');axis([0,7,-2,2]);
subplot(2,2,2);stairs(x,y,'b');
title('stairs(x,y,"b")');axis([0,7,-2,2]);
subplot(2,2,3);stem(x,y,'k');
title('stem(x,y,"k")');axis([0,7,-2,2]);
subplot(2,2,4);fill(x,y,'y');
title('fill(x,y,"y")');axis([0,7,-2,2]);

二维统计分析作图举例

Matlab提供的统计分析绘图函数还有很多,例如:用来表示各元素占总和的百分数的饼图(pie)、复数的向量图(compass)等

【例】绘制图形:

(1)某企业全年各季度的产值(单位:万元)分别为:2347,1827,2043,3025,试用饼图作统计分析。

(2)绘制复数的向量图:7+2.9i、2-3i和-1.5-6i。

Matlab 复制代码
subplot(1,2,1);
explode=[0 0 0 1];
pie([2347,1827,2043,3025],explode);
title('饼图');
legend('一季度','二季度','三季度','四季度');
subplot(1,2,2);
compass([7+2.9i,2-3i,-1.5-6i]);
title('向量图');
相关推荐
你怎么知道我是队长42 分钟前
GO语言---匿名函数
开发语言·后端·golang
lansye42 分钟前
侃侃AI编程
开发语言·qt·ai编程
柏箱2 小时前
容器里有10升油,现在只有两个分别能装3升和7升油的瓶子,需要将10 升油等分成2 个5 升油。程序输出分油次数最少的详细操作过程。
算法·bfs
uyeonashi2 小时前
【QT】窗口详解
开发语言·c++·qt·学习
Hello eveybody3 小时前
C++介绍整数二分与实数二分
开发语言·数据结构·c++·算法
jmlinux4 小时前
从 C 语言计算器到串口屏应用
c语言·开发语言
Mallow Flowers5 小时前
Python训练营-Day31-文件的拆分和使用
开发语言·人工智能·python·算法·机器学习
云边小网安5 小时前
java集合篇(六) ---- ListIterator 接口
java·开发语言·青少年编程·java集合
不被定义的程序猿6 小时前
Golang 在 Linux 平台上的并发控制
开发语言·后端·golang
GalaxyPokemon6 小时前
LeetCode - 704. 二分查找
数据结构·算法·leetcode