Python 在Matplotlib中打印时出现语法错误
我正在将一些代码从Matlab翻译成Python。在理解这段Matlab代码时,我有点困惑: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语法
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中的导入,您可能必须使用本文中描述的“范围”:
我希望这有帮助,
干杯
西蒙这真是帮了大忙!谢谢你花时间解释!很高兴我能帮忙:)