数学实验(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('向量图');
相关推荐
OEC小胖胖13 分钟前
深入理解 Vue.js 响应式原理及其在 Web 前端开发中的应用
开发语言·前端·javascript·vue.js·web
qq_4017004115 分钟前
C语言中位运算以及获取低8位和高8位、高低位合并
c语言·开发语言·算法
CoovallyAIHub19 分钟前
YOLO模型优化全攻略:从“准”到“快”,全靠这些招!
深度学习·算法·计算机视觉
yanjiaweiya19 分钟前
云原生-集群管理
java·开发语言·云原生
闻缺陷则喜何志丹24 分钟前
【BFS】 P10864 [HBCPC2024] Genshin Impact Startup Forbidden II|普及+
c++·算法·宽度优先·洛谷
MicroTech202543 分钟前
微算法科技(NASDAQ: MLGO)探索Grover量子搜索算法,利用量子叠加和干涉原理,实现在无序数据库中快速定位目标信息的效果。
数据库·科技·算法
qianbo_insist1 小时前
c++ python 共享内存
开发语言·c++·python
今天背单词了吗9801 小时前
算法学习笔记:8.Bellman-Ford 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·开发语言·后端·算法·最短路径问题
CoderPractice1 小时前
C#控制台小项目-飞行棋
开发语言·c#·小游戏·飞行棋