matlab读取csv文件数据并绘图

简介: circle.m(画二维圆的函数)%该函数是画二维圆圈,输入圆心坐标和半径%rectangle()函数参数‘linewidth’修饰曲线的宽度%'edgecolor','r',edgecolor表示边框颜色,r表示颜...

circle.m(画二维圆的函数)

%该函数是画二维圆圈,输入圆心坐标和半径
%rectangle()函数参数‘linewidth’修饰曲线的宽度
%'edgecolor','r',edgecolor表示边框颜色,r表示颜色参数
%'facecolor','b',facecolor表示内部填充颜色,b表示颜色参数
function [] = circle( x,y,r )
rectangle('Position',[x-r,y-r,2*r,2*r],'Curvature',[1,1],'linewidth',1);
axis equal; 
end
draw_arrow.m(画两坐标点之间箭头的函数)
%该函数是画从一坐标点到另一坐标点的指向箭头

function draw_arrow(start_point, end_point)
% 从start_point到end_point画一箭头

K = 0.05;  %箭头比例系数

theta = pi / 8;  %箭头角度
A1 = [cos(theta), -sin(theta);
      sin(theta), cos(theta)];  %旋转矩阵
theta = -theta;
A2 = [cos(theta), -sin(theta);
      sin(theta), cos(theta)];  %旋转矩阵

arrow = start_point' - end_point';

arrow_1 = A1 * arrow;
arrow_2 = A2 * arrow;
arrow_1 = K * arrow_1 + end_point';
arrow_2 = K * arrow_2 + end_point';

hold on;
grid on;
axis equal;
plot([start_point(1), end_point(1)], [start_point(2), end_point(2)], 'k');
plot([arrow_1(1), end_point(1)], [arrow_1(2), end_point(2)], 'k');
plot([arrow_2(1), end_point(1)], [arrow_2(2), end_point(2)], 'k');
hold off;

read_file.m(主函数)
clear;
close all;
clc;
%importdata 函数允许加载各种数据的不同格式的文件
data=importdata('data.csv'); %读取csv数据文件
%disp(data); %disp函数:显示文本或数组
for i=1:75
    if i<=7
        x=data(i,1);
        y=data(i,2);
        plot(x,y,'rs'),axis([0 400 0 800]);
        hold on;
    else
        x=data(i,1);
        y=data(i,2);
        plot(x,y,'g.'),axis([0 400 0 800]);
        hold on; 
    end
end
xlabel('x/km'),ylabel('y/km'); %添加标签
hold on;
%grid on;%添加网格
circle(data(8,1),data(8,2),70);   %调用画圆圈的函数
circle(data(18,1),data(18,2),70);
circle(data(27,1),data(27,2),70);
circle(data(32,1),data(32,2),70);
circle(data(42,1),data(42,2),70);
circle(data(49,1),data(49,2),70);
circle(data(55,1),data(55,2),70);
circle(data(61,1),data(61,2),70);
circle(data(66,1),data(66,2),70);
circle(data(71,1),data(71,2),70);
draw_arrow([data(55,1), data(55,2)],[data(66,1), data(66,2)]); %调用画箭头的函数
draw_arrow([data(3,1), data(3,2)],[data(66,1), data(66,2)]);
axis([-100 400 0 800]);
hold on;
结果为:

data.csv数据如下(位置的坐标):
368,319
264,44
392,220
360,110
392,275
296,242
256,121
264,715
258,719
274,728
264,728
254,728
257,733
260,731
262,733
268,733
270,739
225,605
223,598
210,605
220,610
223,615
209,615
230,620
220,622
205,618
168,538
168,542
164,544
168,545
174,544
210,455
180,455
175,452
170,453
185,460
178,460
190,470
183,473
175,472
180,476
120,400
119,388
112,394
125,410
114,405
116,410
113,416
96,304
88,305
100,312
93,311
86,310
94,315
10,451
11,449
13,450
16,450
12,453
15,455
162,660
161,659
159,659
160,657
164,658
110,561
110,563
110,565
109,567
112,568
105,473
106,471
103,473
107,475
104,477

附加:
plot函数
Matlab提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。这些选项如表所示:
线型
颜色
标记符号
- 实线
b蓝色
.   点
s 方块
: 虚线
g绿色
o 圆圈
d 菱形
-. 点划线
r红色
× 叉号
∨朝下三角符号
-- 双划线
c青色
+ 加号
∧朝上三角符号
 
m品红
* 星号
<朝左三角符号
 
y黄色
 
>朝右三角符号
 
k黑色
 
p 五角星
 
w白色
 
h 六角星



matlab教程参考: https://www.w3cschool.cn/matlab/




相关文章
|
2月前
|
存储 缓存 算法
基于FPGA的图像双边滤波实现,包括tb测试文件和MATLAB辅助验证
基于FPGA的图像双边滤波实现,包括tb测试文件和MATLAB辅助验证
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到&quot;hand.txt&quot;文件。
|
2天前
|
算法 计算机视觉 异构计算
基于FPGA的图像累积直方图verilog实现,包含tb测试文件和MATLAB辅助验证
该内容展示了FPGA实现图像累积直方图的算法。使用Vivado2019.2和matlab2022a,通过FPGA的并行处理能力优化图像处理。算法基于像素值累加分布,计算图像中像素值小于等于特定值的像素个数。核心代码为`test_image`模块,读取二进制图像文件并传递给`im_hist`单元,生成直方图和累积直方图。
|
4天前
|
机器学习/深度学习 传感器 数据可视化
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
19 1
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
|
9天前
|
机器学习/深度学习 数据可视化 网络架构
matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类
matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类
13 0
|
9天前
|
数据可视化
matlab用高斯曲线拟合模型分析疫情数据
matlab用高斯曲线拟合模型分析疫情数据
13 0
|
18天前
|
存储 人工智能 机器人
【Matlab】Matlab 汉/英语(A/a)声学特征比较与基音频率分析(源码+音频文件)【独一无二】
【Matlab】Matlab 汉/英语(A/a)声学特征比较与基音频率分析(源码+音频文件)【独一无二】
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
|
1月前
|
编解码 算法 计算机视觉
基于FPGA的图像最近邻插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
基于FPGA的图像最近邻插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
|
1月前
|
索引
matlab快速入门(读取数据并绘制散点图和拉格朗日插值
matlab快速入门(读取数据并绘制散点图和拉格朗日插值
32 0

热门文章

最新文章