Как преобразовать матрицу, записи которой представляют собой однозначное десятичное число из текстового файла Latex, в консоль Scilab? - PullRequest
0 голосов
/ 25 августа 2018

У меня есть очень большая матрица, записи которой представляют собой однозначное десятичное число (например, \ begin {bmatrix} 0.3 & 0.2 & 0.1 \ 0.1 & 0.6 & 0.8 \ 0.7 & 0.4 & 0.8 \ end {bmatrix}) вТекстовый файл из латекса.Моя цель - преобразовать эту матрицу в консоль Scilab.Есть ли быстрый способ сделать это?(Очень большая матрица означает, что она имеет максимум 30 строк и 6 столбцов).

1 Ответ

0 голосов
/ 18 октября 2018

Сначала поместите вашу матрицу в файл с именем 'matrix' и удалите записи \begin{bmatrix} и \end{bmatrix}.

Таким образом, ваша матрица файла должна выглядеть следующим образом:

 0.3 & 0.2 & 0.1 \ 0.1 & 0.6 & 0.8 \ 0.7 & 0.4 & 0.8 

Теперь выполните следующий код в scilab:

mclose('all')
f=mopen('matrix');

matrix_car='M=[['

while ~(meof(f))
    car = mgetstr(1, f);
    if car == '&' then
        matrix_car=matrix_car+',';
    elseif car == '\' then
            matrix_car=matrix_car+'];[';
    elseif car ~= ascii(10) then
        matrix_car=matrix_car+car;
    end;   
end;

matrix_car=matrix_car+']]'

execstr(matrix_car)

Затем вы получите переменную с именем M с соответствующей матрицей в ней.

...