#excel #matlab
#excel #matlab
Вопрос:
Я пытаюсь запустить Matlab параллельно с другой программой. Matlab будет работать до тех пор, пока работает другая программа, и серия циклов if определяет, какая часть кода необходима.
Некоторые уравнения для вычисления текущего значения включают значение этой переменной из последней итерации, например
T_brick(ii) = T_brick(ii-1) T_change(ii);
Это было нормально, когда я использовал циклы for , но две программы не будут выполняться синхронно, когда я использую циклы for, и поэтому я пытаюсь использовать циклы if, где я где-то храню значение T_brick(ii-1) и считываю его во время текущей итерации. То, что я сделал, заключается в следующем
T_brick_previous = xlsread('worksheet1', A1)
T_brick = T_brick_previous T_change
xlswrite('worksheet1', A1)
Однако значение, которое он в конечном итоге считывает для T_brick_previous, равно нулю, и я не могу понять, почему. Может ли кто-нибудь дать несколько советов по возможной проблеме или, возможно, даже другой способ сделать это?
Редактировать: на одной итерации я надеюсь прочитать предыдущее значение T_brick и после выполнения вычислений обновить его до текущего значения. В настоящее время Matlab считывает предыдущее значение и записывает текущее значение в ту же ячейку в Excel.
Я все еще пытаюсь заставить его работать только на Matlab и не смог, поскольку Matlab читает в T_brick_previous как NaN
Комментарии:
1. Вы просто используете Excel для хранения значения извне? какую другую программу вы запускаете параллельно с Matlab?
2. Помимо хранения этих значений, я также использую Excel для определения ряда начальных условий, поскольку это более простой пользовательский интерфейс, чем другие доступные опции. Программа, работающая параллельно, — это Energy Plus, программа моделирования зданий