数学实验(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('向量图');
相关推荐
Boilermaker199215 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
MM_MS15 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
独自破碎E16 小时前
【二分法】寻找峰值
算法
꧁Q༒ོγ꧂16 小时前
LaTeX 语法入门指南
开发语言·latex
njsgcs16 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
alonewolf_9916 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
mit6.82416 小时前
位运算|拆分贪心
算法
古城小栈16 小时前
Rust 迭代器产出的引用层数——分水岭
开发语言·rust
ghie909016 小时前
基于MATLAB的TLBO算法优化实现与改进
开发语言·算法·matlab
恋爱绝缘体116 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit