【问题标题】:How to execute this step from Matlab in Python?如何在 Python 中从 Matlab 执行此步骤?
【发布时间】:2012-04-26 01:21:07
【问题描述】:

在 Matlab 中,我们可以使用以下代码行将1+N x 1+N 大小的矩阵x 的整个最后一行和最后一列设置为1

x=zeros((1+N,1+N))
x(1+N,1:N+1) = 1
x(1:N+1,1+N) = 1

使用和不使用 numpy 在 python 中获得类似结果的等效方法是什么?谢谢!

【问题讨论】:

  • 你说 get 但代码看起来你正在将最后一行/列设置为 1...
  • mgilson,我认为(即,大约 99% 确定)“将 ... 作为 1” S_H 的意思是“让 ... 等于 1”,即“安排 ... . 等于 1",即“将 ... 设置为 1”。
  • @mgilson:为你更正了!谢谢指点!!

标签: python arrays matlab matrix


【解决方案1】:

创建一个全零数组:x = numpy.zeros((1+N,1+N))

将一行或一列设置为 1:例如,x[:,3] = 1

如果不使用 numpy,您可能会使用嵌套列表。获得零的矩形数组的最简单方法是使用这样的理解:x = [m*[0] for i in range(n)];那么您可以通过说x[3] = ... 来替换x 的一行,但是更新一整列,或者更新一行但不是全部,将需要一个显式循环。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 2011-03-07
    • 2022-08-18
    • 2017-10-14
    • 2014-01-20
    相关资源
    最近更新 更多