python - Matlab 到 Python 矩阵代码

标签 python matlab matrix language-implementation

我正在尝试将一些代码从 MATLAB 转换为 Python。我一直对这部分 MATLAB 代码感到困惑:

[L,N] = size(Y);
if (L<p)
    error('Insufficient number of columns in y');
end

我知道当 Y 是矩阵时,[L,N] = size(Y) 返回行数和列数。但是我对 Python 的经验有限,因此无法理解如何用 Python 做同样的事情。这也是我不明白循环中的 MATLAB 逻辑如何在 Python 中也能实现的部分原因。

提前致谢!

此外,如果还需要其余代码。这里是。

function [M,Up,my,sing_values] = mvsa(Y,p,varargin)

if (nargin-length(varargin)) ~= 2
    error('Wrong number of required parameters');
end

% data set size
[L,N] = size(Y)

if (L<p)
    error('Insufficient number of columns in y');
end

最佳答案

我仍然不清楚您的帖子中的 p 是什么,但是下面的摘录有效地执行了与 Python 中的 MATLAB 代码相同的任务。使用 numpy,您可以将矩阵表示为数组的数组,然后调用 .shape 分别返回行数和列数。

import numpy as np

p = 2
Y = np.matrix([[1, 1, 1, 1],[2, 2, 2, 2],[3, 3, 3, 3]])

L, N = Y.shape
if L < p:
    print('Insufficient number of columns in y')

关于python - Matlab 到 Python 矩阵代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50881474/

相关文章:

python - 无法在 Spark 上运行 TensorFlow

python - 使用网站的Python Youtube音频下载器

python - 如何获取多个列表并嵌套它们?

python - _tkinter.TclError : cannot use geometry manager grid inside . 这里已经有由 packenter 代码管理的从站

matlab - 为什么在 Matlab 中使用卷积矩阵而不是 conv() 函数?

MATLAB 错误? "Undefined function or variable"函数和变量使用相同名称时出错

java - 在MATLAB中编写Java的pw.println()等

matlab - 使用通配符 MatLab 读取单个图像文件

python - Numpy 与时间相关的二维矩阵乘法

python - 从 1 维位数组中获取特定的 2 维序列数组 [Python]