Python 在Matplotlib中打印时出现语法错误

Python 在Matplotlib中打印时出现语法错误,python,matlab,numpy,matplotlib,Python,Matlab,Numpy,Matplotlib,我正在将一些代码从Matlab翻译成Python。在理解这段Matlab代码时,我有点困惑: plot(m_true(1,[1:p 1]), m_true(2,[1:p 1]),'*', 'Color',[0 0 0]) 当我尝试将其转换为Python时,它看起来是这样的: plot(m_true[1,(1:p, 1)], m_true[2,(1:p 1)],'*', 'Color',[0, 0, 0]) 冒号导致语法错误。有Matlab绘图经验的人(我不熟悉这种语言)能解释Matlab语法

我正在将一些代码从Matlab翻译成Python。在理解这段Matlab代码时,我有点困惑:

plot(m_true(1,[1:p 1]), m_true(2,[1:p 1]),'*', 'Color',[0 0 0])
当我尝试将其转换为Python时,它看起来是这样的:

plot(m_true[1,(1:p, 1)], m_true[2,(1:p 1)],'*', 'Color',[0, 0, 0])
冒号导致语法错误。有Matlab绘图经验的人(我不熟悉这种语言)能解释Matlab语法(根据1:p的索引正在做什么)以及可能如何修复语法错误吗


谢谢

在Matlab中,冒号运算符描述了容器的两个值n和m之间的范围

例如,给定一个向量
x={4,2,67,2,5,26}
,以下表达式获取值3到6并将其保存在向量y中:

y = x(3:6)
得出y的以下值:

67   2   5   26
它的另一个用途是索引矩阵一维的所有元素:

x = rand(5,5)
x(:,1) = 1
将矩阵m的第一列填入以下内容:

1.0000    0.9649    0.8003    0.9595    0.6787
1.0000    0.1576    0.1419    0.6557    0.7577
1.0000    0.9706    0.4218    0.0357    0.7431
1.0000    0.9572    0.9157    0.8491    0.3922
1.0000    0.4854    0.7922    0.9340    0.6555
以下是打印功能的简化版本:

plot(m(1,[1:3 1]),'*', 'Color',[0 0 0])
它绘制x的第一行的值1到3,然后绘制第一个值(由方括号中的空格表示) 输出图如下所示:

将绘图更改为

plot(x(1,[3:4 1]),'*')
(为了更好地进行比较,放弃此处的颜色) 将索引3和4处的值与索引1处的附加值绘制如下:

至于python中的导入,您可能必须使用本文中描述的“范围”:

我希望这有帮助, 干杯
西蒙

这真是帮了大忙!谢谢你花时间解释!很高兴我能帮忙:)