Battery duty cycle at each instant ?

I have battery voltage Vi at each time instant(predefined before in simulink) and taking the reference voltage Vo (between 718-719 choose randomly at each instant). Now, I want to calculate and store duty cycle D of battery at each time instant according to D = {1-(Vi/Vo)}. How can I do it in a incremental time stamp loop or using for loop. Thanks

 Risposta accettata

I didn't understand what Vi and Vo are. Are they each vectors of voltages sampled at temporal intervals?
If that's the case, and if Vi and Vo have the same length, the duty cycle, according to your equation would just be
D = 1 - Vi./Vo;
But I have a feeling this doesn't address what you need. Feel free to follow-up in the comments below.

2 Commenti

Yes, Vi and Vo are vectors of voltages sampled at each time instant and I want to calculate duty cycle at each instant but I do not know the length of vector So I can not use "i=1:sample_number" in for loop So how can i check it at every next instant for duty cycle. Thanks for your help.
My method above does not require knowing the length of each vector and it does not require a loop. As long as Vi and V0 are the same lenght
length(Vi) == length(Vo)
and as long as Vi and Vo are sampled together at the same time, that 1-line should do what you're asking, if I'm understanding correctly.
Have you tried running that line? Is there an error?

Accedi per commentare.

Più risposte (0)

Community

Più risposte nel  Power Electronics Control

Categorie

Scopri di più su Simulink in Centro assistenza e File Exchange

Richiesto:

il 17 Ago 2018

Riaperto:

il 12 Gen 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by