首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Matplotlib中绘图时出现语法错误

在Matplotlib中绘图时出现语法错误
EN

Stack Overflow用户
提问于 2018-08-02 01:58:27
回答 1查看 63关注 0票数 0

我正在将Matlab中的一些代码翻译成Python。就理解这段Matlab代码而言,我有点困惑:

代码语言:javascript
复制
plot(m_true(1,[1:p 1]), m_true(2,[1:p 1]),'*', 'Color',[0 0 0])

当我尝试将它翻译成Python时,它看起来像这样:

代码语言:javascript
复制
plot(m_true[1,(1:p, 1)], m_true[2,(1:p 1)],'*', 'Color',[0, 0, 0])

冒号会导致语法错误。有Matlab绘图经验的人(我是这个语言的新手)可以解释matlab的语法(就1:p的索引所做的而言),以及如何修复语法错误?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-02 03:27:00

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

例如,给定一个向量x = {4,2,67,2,5,26},下面的表达式采用从3到6的值,并将它们保存在向量y中:

代码语言:javascript
复制
y = x(3:6)

导致y的值如下:

代码语言:javascript
复制
67   2   5   26

它的另一个用途是索引矩阵的一个维度的所有元素:

代码语言:javascript
复制
x = rand(5,5)
x(:,1) = 1

将用以下内容填充矩阵m的第一列:

代码语言:javascript
复制
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

以下是您的绘图函数的简化版本:

代码语言:javascript
复制
plot(m(1,[1:3 1]),'*', 'Color',[0 0 0])

它绘制x第一行的值1到3,然后是第一个值(由方括号中的空格表示),输出图如下所示:

将绘图更改为

代码语言:javascript
复制
plot(x(1,[3:4 1]),'*')

(为了更好地比较,这里放弃了着色)将绘制索引3和4处的值,以及索引1处的附加值,如下所示:

至于python中的导入,您可能必须使用本文中描述的"range“:Python Equivalent of MATLAB's colon operator

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51639563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档