пятница, 26 сентября 2025 г.

Зависимость напряжения открытой цепи от времени и от степени зарядки

Используя данные, полученные на предыдущем занятии, построить графики зависимости напряжения от степени зарядки батареи.  

Графики делать отдельно для процессов зарядки и разрядки. 

Чтобы выбрать индексы в переменной, соответствующие нужному критерию, используется функция find (например, indn=find(I<0) - выдает индексы элементов массива I, которые меньше нуля, что соответствует разрядке батареи; построение только соответствующих точек как функции времени - plot(t(indn),I(indn))., подробнее - см. по ссылке (или же присвоить нужное подмножество элементов вектора другой переменной). Каждый рисунок подписать заголовком, описывающим, что изображено (используя title). 

Чтобы проиллюстрировать ход процесса как функцию времени, начальное время каждого процесса установить равным нулю (вычесть из вектора времен значение, соответствующее началу процесса). Учесть, что в исходных данных время в секундах, т.е. их надо перевести в часы. Для временной зависимости должен получиться график вида:


Для построения зависимости напряжения от степени заряда (SoC), SOC можно определить двумя способами. Первый - непосредственно по определению

где интеграл с переменным верхним пределом вычисляется функцией cumtrapz (см. ее документацию по ссылке). Поправочный коэффициент h для разрядки близок к единице, для зарядки - подобрать так, чтобы при полной зарядке SoC=1.

Второй, учитывая постоянность тока разрядки и зарядки: 0 соответствует минимуму напряжения в данных, 1 соответствует максимуму напряжения в данных. Найти индексы минимального и максимального значения - использовать функции min и max с двумя выходами (значение и его индекс), см. подробнее по ссылке-1 и ссылке-2. Вектор SoC создать линейным семплингом от 0 до 1 с числом элементов массива, равным длине выбранного участка (функция length, см. по ссылке), см. по ссылке описание соответствующей функции linspace.