数学实验(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('向量图');
相关推荐
玉带湖水位记录员12 分钟前
Qt+线段拖曳示例代码
开发语言·c++·qt
fashia19 分钟前
Java转Go日记(五十四):gin路由
开发语言·后端·golang·go·html·gin
_WndProc20 分钟前
【C++】控制台小游戏
开发语言·c++·vscode
Vic1010121 分钟前
GaussDB(PostgreSQL)查询执行计划参数解析技术文档
算法·哈希算法·gaussdb
小王同学的C++30 分钟前
C++中的菱形继承问题
开发语言·c++
麻辣香蝈蝈40 分钟前
【Vue3】一文学会动态路由和编程式路由的使用
开发语言·前端·javascript·vue.js
flex88881 小时前
一个由微软开源的 Python 工具,用于将多种文件格式转换为 Markdown 格式
开发语言·python·microsoft
煤灰2421 小时前
简单用c++的类实现的string
java·开发语言·c++
小喵要摸鱼1 小时前
【软考向】Chapter 3 数据结构
数据结构·算法·排序算法
emplace_back2 小时前
C# 项目
开发语言·c#