matlab - 在两个序列的匹配部分之间画线

标签 matlab plot line time-series octave

我有两个不同的序列:seq1seq2

seq1 = {1,2,3,4}; 
seq2 = {3,4,6,7,8}; 
matchedIndexes ={{4,5},{4,4},{4,3},{4,2},{3,1},{2,1},{1,1}}; 

我想在同一图中使用 matlab 绘制 seq1seq2 以及匹配部分之间的线。

我试过以下,

plot(seq1);
hold on;
plot(seq2);
//How to draw lines between matched parts?

最佳答案

也许这就是您想要的(在 Matlab 中):

seq1 = {1,2,3,4}; 
seq2 = {3,4,6,7,8}; 
matchedIndexes ={{4,5},{4,4},{4,3},{4,2},{3,1},{2,1},{1,1}};

seq1 = cell2mat(seq1); %// convert to vector
seq2 = cell2mat(seq2); %// convert to vector
plot(seq1,1,'ro')
hold on
plot(seq2,2,'ro')
for k = 1:numel(matchedIndexes)
    plot([seq1(matchedIndexes{k}{1}) seq2(matchedIndexes{k}{2})], [1 2])
end
axis([min([seq1 seq2])-1 max([seq1 seq2])+1 0.5 2.5])

enter image description here

关于matlab - 在两个序列的匹配部分之间画线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20972047/

相关文章:

arrays - 如何用下一个最接近的数字替换数组中的 NaN?

performance - 如何使用矢量化技术提高该 MATLAB 程序的效率

python - 如何使用 SymPy 绘制笛卡尔方程?

matlab - 在 MATLAB 极坐标图上固定径向轴

java - Java中如何获取在线音量

javascript - 在 jpgraph js 库中,对于折线图,是否可以有不同(自定义)颜色的点?

matlab - 为什么 surf 函数中 Z 尺寸相反

matlab - 在同一台机器上使用 Matlab 32 位和 64 位,如何将设置存储在不同的地方?

python - 在 python matplotlib 中的 plot_surface 顶部绘制单个 3D 点

javascript - 在 Canvas 中绘制 1px 粗线创建 2px 粗线