Как использовать ответ (из командного окна) для кода - PullRequest
1 голос
/ 01 октября 2011

У меня есть случайная матрица (A), и я нахожу результат, который я хотел бы использовать позже для моего кода

A=randint(5,7,[1,9])
ans A =

     8     1     2     2     6     7     7
     9     3     9     4     1     7     1
     2     5     9     9     8     4     3
     9     9     5     8     9     6     1
     6     9     8     9     7     2     1

Как теперь получить:

A = [8,1,2,2,6,7,7;9,3,9...7,2,1];

безприходится печатать самому.

Ответы [ 3 ]

1 голос
/ 02 октября 2011

MATLAB имеет функцию для этого: MAT2STR

>> A = randi([1,9],[5,7]);
>> mat2str(A)
ans =
[5 5 7 5 3 2 5;5 6 5 3 8 4 1;9 8 8 1 7 9 6;1 5 5 1 8 6 3;3 4 5 8 9 9 5]

Подходит для использования с EVAL

0 голосов
/ 01 октября 2011

Просто подумал о другом пути.Ваша цель состоит в том, чтобы в вашем сценарии была буква «А» - верно?

Вы можете просто вставить ее следующим образом:

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

(обратите внимание на квадратные скобки)

Это оценитк вашей исходной матрице.

0 голосов
/ 01 октября 2011

Сделай себе строку:

Str = ['[' sprintf('%i',A(1)) sprintf(',%i',A(2:end)) ']']

Обратите внимание, что эта строка не содержит ;, как в вашем примере. поэтому при оценке вы получите вектор 1x35 (вместо исходного 5x7matrix)

Самый простой способ исправить это - добавить после оценки строки.

A = reshape(A,5,7)

будет выглядеть

B = [....
B = reshape(B,5,7)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...