openlang

Итоги неверные только за день с одним интервалом (readmatrix? Apple silicon?)

Небольшой отчёт на MATLAB по счётчикам электроэнергии, один CSV на день, столбцы = счётчики, строки = 30-минутные интервалы. Запускаю через matlab -batch run_report из терминала Neovim. Финансам он нужен сегодня, так что настроение у меня не очень.

В 2026-10-30 три интервала, и цифры правильные. В 2026-10-31 только один интервал, шлюз большую часть дня лежал:

M101,M102,M103,M104
0.44,0.30,1.05,0.05

Общий расход кВт·ч за этот день выводится как [0.44 0.74 1.79 1.84]. Стоимость неверная таким же образом, растёт слева направо. Итог должен быть просто четырьмя числами из строки. peak_kwh и n_intervals верные, так что что-то не так только в итогах.

function report = meter_report(deltas, cfg)
running = cumsum(deltas);
report.total_kwh   = running(end, :);
report.cost        = report.total_kwh * cfg.tariff;
report.peak_kwh    = max(deltas, [], 1);
report.n_intervals = size(deltas, 1);
end
batches{k} = readmatrix(fullfile(dataDir, names{k}));

size(batches{k}) даёт 1x4, так что файл читается нормально. Подозреваю, что readmatrix делает что-то странное с заголовком и одной строкой данных (docs), либо эта нативная сборка под Apple silicon ведёт себя иначе. На другой машине это пока никто не запускал. Пробовал format long, перезапуск MATLAB, удаление заголовка. Ничего не изменилось.

Сортировка файлов через natsortfiles из стандартной библиотеки, так что дело не в ней.

Почему только этот день? Тот же код, тот же формат. Кто-нибудь сталкивался?

Переведено с английскогоПоказать оригинал

Разговор продолжается 1

Следуя доводам

Другие стороны того же вопроса

  1. Перенёс короткий скрипт с MATLAB на R, и один результат получился матрицей

    Всем привет, первый раз что-то портирую с MATLAB (почти с ним не работал), так что не судите строго. Переношу в R короткий ск…

    Ответы 2Последняя активность rmatlab
  2. Морозилка без показаний получает статус "ok", что я упускаю

    Мой ночной скрипт аудита (Rscript, base R) помечает морозилки, у которых пиковая температура выше лимита. Вчера у U-03 отключ…

    Ответы 2Последняя активность r
  3. Цикл, который выделял память на каждый столбец

    Срезы в Julia копируют. Это известно, но внутри цикла вылетело из головы. Возьмём функцию, которая идёт по столбцам матрицы и…

    Ответы 2Последняя активность julia