Как сделать так, чтобы мой матричный массив стал таким? - PullRequest
0 голосов
/ 08 февраля 2011

У меня есть такая матрица:

A = 1 2 3

      4 5 6

      7 8 9

У меня вопрос, как я хочу, чтобы моя матрица была такой:

A11 = 1

A12 = 2

A13 = 3

A21 = 4

A22 = 5

A23 = 6

A31 = 7

A32 = 8

A33 = 9

Потому что я должен умножить А21 на А22, который равен 4х5 = 20.

Ответы [ 2 ]

2 голосов
/ 08 февраля 2011

Ваш вопрос мне не понятен.

Чтобы создать матрицу, используйте ',' (или ничего) для разделения столбцов, ';' для разделения строк.

A = [1 2 3 ; 4 5 6 ; 7 8 9];

Для доступа к матрице вы можете использовать одномерный индекс, а также двумерный индекс. Например. A21 равен A(2, 1), а также A(0*3+2).

1 голос
/ 08 февраля 2011

Если вам действительно нужны переменные, такие как «A11», «A12» и т. Д., Вы можете сделать следующее:

A = [1 2 3; 4 5 6; 7 8 9];

for i = 1:size(A,1)
    for j = 1:size(A,2)             
        eval(sprintf('A%d%d = %f;',i,j,A(i,j)));            
    end 
end


A21 * A22 
# will result in 20

Возможно, не самый лучший способ, но он создаст переменные для вас.

...