Загрузка файла таблицы MATLAB как массива в Node.js - PullRequest
0 голосов
/ 25 января 2019

В настоящее время я создаю тестовый сервер для веб-приложения, которое должно передавать ложные данные через веб-сокет. Поддельные данные находятся внутри файла таблицы MATLAB (.mat). Файл mat в основном представляет собой массив размером 4000 * 192. Я хотел бы отобразить его в массив JavaScript, чтобы я мог перебрать его и отправить столбец за столбцом клиенту.

Я просто не знаю, как преобразовать таблицу MATLAB в массив javascript внутри Node.js. Все библиотеки, которые я нашел, не поддерживают node.js из-за того, как jdataview обрабатывает буферы узлов.

1 Ответ

0 голосов
/ 02 июля 2019

Я полагаю, вы пытаетесь загрузить файл .mat.Как уже упоминал Василий, лучшим выбором будет следующий репозиторий git - Читать файл Mat *

Пожалуйста, попробуйте это -

var jBinary = require('jbinary')
var MAT = require('jMatFile')

jBinary.load('myMat.mat', MAT).then(function (binary) {
  var mat = binary.readAll
  // or equivalently
  var mat = binary.read('mat')
})

Мне удалось загрузить данные вконсоль, но сейчас я борюсь с чем-то другим.

В документе также говорится, что набор текста работает только с механизмами JS, которые полностью поддерживают типизированные массивы.Начиная с 4 лет назад (последнее обновление репо), ограничение сознательно исключает:

  • phantomjs, поскольку оно не поддерживает Float64Array
  • nodejs из-за специальной обработки jdataview узловых буферов

Вам также нужно будет установить jMatFile, который не находится в каталоге npm, на что Васил был прав, указав в предыдущих комментариях.Запустите их до того, как вы выполните обычный запуск npm -

npm i jBinary

и

npm i https://github.com/fluffynukeit/jMatFile.git
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...