Matlab to Python Matrix Code

1

Я пытаюсь перевести код с MATLAB на Python. Я был в тупике по этой части кода MATLAB:

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

Я понимаю, что [L, N] = size (Y) возвращает количество строк и столбцов, когда 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
Теги:
matrix
language-implementation

3 ответа

4
Лучший ответ

Я все еще не понимаю, что такое p из вашего сообщения, однако выдержка ниже эффективно выполняет ту же задачу, что и ваш код MATLAB в Python. Используя 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')
  • 0
    Спасибо за помощь! p - это параметр функции, из которой взята эта часть кода.
  • 0
    Если требуется информация о p, я разместил оставшуюся часть кода.
Показать ещё 1 комментарий
2

Non-NumPy

 data = ([[1, 2], [3, 4], [5, 6]])    

 L, N = len(data), len(data[0])

 p = 2

 if L < p:
     raise ValueError("Insufficient number of columns in y")
1
number_of_rows = Y.__len__()
number_of_cols = Y[0].__len__()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню