Hi, I'm reading from a file the middle column of data (Volts) where my test file "AP.txt" is opened by my program. Here is a segment of the data:
time Volts dV
49552 -66.20183 -0.01556807
49553 -67.76025 -0.01556495
49554 -69.30704 -0.01533247
49555 -70.81799 -0.0148486
49556 -72.26774 -0.0141133
49557 -73.63226 -0.01315276
49558 -74.89141 -0.01201764
Since the calculation I performed gives me -71.77 Volts, I need to match this value to the time that this occurs closest to using my program, and output the time that this occurs at.
Here is my program so far:
int main()
{
std::ifstream inFile;
inFile.open("AP.txt");
ofstream results_file ("maxvaluewithinput.txt");
float TimeAtdVMax = 0;
float VoltsAtdVmax = 0;
float dVmax = 0;
float TimeTemp = 0;
float VoltsTemp = -800;
float VoltsTempNew = -800;
float dVTemp = 0;
float dVTempNew = 0;
float TimeTempNew = -100;
float MaxVolts = 0;
float dVAtMaxVolts = 0;
float VoltsAtMaxVolts = 0;
float TimeAtMaxVolts = 0;
float TimeAtMinVolts = 0;
float VoltsAtMinVolts = 0;
float dVAtMinVolts = 0;
float TimeAtNinetyPercentRepolarization = 0;
float VoltsAtNinetyPercentRepolarization = 0;
float dVAtNinetyPercentRepolarization = 0;
float TimeAtNinetyPercentRepolarizationNew = 0;
float VoltsAtNinetyPercentRepolarizationNew = 0;
float dVAtNinetyPercentRepolarizationNew = 0;
double VoltsAmplitude, VoltsNinetyPercentAmplitude, VoltsPeakMinusVoltsNinetyPercent, VoltsPeakMinusVoltsNinetyPercentCalc;
while(!inFile.eof())
{
inFile >> TimeTemp >> VoltsTemp >> dVTemp;
if (dVTemp > dVmax)
{
TimeAtdVMax = TimeTemp;
VoltsAtdVmax = VoltsTemp;
dVmax = dVTemp;
}
if (VoltsTemp > VoltsAtMaxVolts)
{
TimeAtMaxVolts = TimeTemp;
VoltsAtMaxVolts = VoltsTemp;
dVAtMaxVolts = dVTemp;
}
if (VoltsTemp < VoltsAtMinVolts)
{
TimeAtMinVolts = TimeTemp;
VoltsAtMinVolts = VoltsTemp;
dVAtMinVolts = dVTemp;
}
VoltsAmplitude = VoltsAtMaxVolts - VoltsAtMinVolts;
VoltsNinetyPercentAmplitude = 0.9*VoltsAmplitude;
VoltsPeakMinusVoltsNinetyPercent = VoltsAtMaxVolts - VoltsNinetyPercentAmplitude;
VoltsPeakMinusVoltsNinetyPercentCalc = VoltsPeakMinusVoltsNinetyPercent - 2;
if (VoltsTemp < VoltsPeakMinusVoltsNinetyPercent)
{
TimeAtNinetyPercentRepolarization = TimeTemp;
VoltsAtNinetyPercentRepolarization = VoltsTemp;
dVAtNinetyPercentRepolarization = dVTemp;
VoltsTempNew = VoltsTemp
if (VoltsTempNew > VoltsPeakMinusVoltsNinetyPercent)
{
VoltsAtNinetyPercentRepolarizationNew = VoltsTempNew;
TimeAtNinetyPercentRepolarizationNew = TimeTempNew;
dVAtNinetyPercentRepolarizationNew = dVTempNew;
}
}
}
cout << TimeAtNinetyPercentRepolarizationNew << " " << VoltsAtNinetyPercentRepolarizationNew << " " << endl;
inFile.close();
return 0;
}
If you're curious, this program isn't for homework. It's part of the independent learning on C++ I'm doing for a Master's Thesis; the program will eventually model the APD90 of a ventricular action potential.
Thanks for reading
time Volts dV
49552 -66.20183 -0.01556807
49553 -67.76025 -0.01556495
49554 -69.30704 -0.01533247
49555 -70.81799 -0.0148486
49556 -72.26774 -0.0141133
49557 -73.63226 -0.01315276
49558 -74.89141 -0.01201764
Since the calculation I performed gives me -71.77 Volts, I need to match this value to the time that this occurs closest to using my program, and output the time that this occurs at.
Here is my program so far:
int main()
{
std::ifstream inFile;
inFile.open("AP.txt");
ofstream results_file ("maxvaluewithinput.txt");
float TimeAtdVMax = 0;
float VoltsAtdVmax = 0;
float dVmax = 0;
float TimeTemp = 0;
float VoltsTemp = -800;
float VoltsTempNew = -800;
float dVTemp = 0;
float dVTempNew = 0;
float TimeTempNew = -100;
float MaxVolts = 0;
float dVAtMaxVolts = 0;
float VoltsAtMaxVolts = 0;
float TimeAtMaxVolts = 0;
float TimeAtMinVolts = 0;
float VoltsAtMinVolts = 0;
float dVAtMinVolts = 0;
float TimeAtNinetyPercentRepolarization = 0;
float VoltsAtNinetyPercentRepolarization = 0;
float dVAtNinetyPercentRepolarization = 0;
float TimeAtNinetyPercentRepolarizationNew = 0;
float VoltsAtNinetyPercentRepolarizationNew = 0;
float dVAtNinetyPercentRepolarizationNew = 0;
double VoltsAmplitude, VoltsNinetyPercentAmplitude, VoltsPeakMinusVoltsNinetyPercent, VoltsPeakMinusVoltsNinetyPercentCalc;
while(!inFile.eof())
{
inFile >> TimeTemp >> VoltsTemp >> dVTemp;
if (dVTemp > dVmax)
{
TimeAtdVMax = TimeTemp;
VoltsAtdVmax = VoltsTemp;
dVmax = dVTemp;
}
if (VoltsTemp > VoltsAtMaxVolts)
{
TimeAtMaxVolts = TimeTemp;
VoltsAtMaxVolts = VoltsTemp;
dVAtMaxVolts = dVTemp;
}
if (VoltsTemp < VoltsAtMinVolts)
{
TimeAtMinVolts = TimeTemp;
VoltsAtMinVolts = VoltsTemp;
dVAtMinVolts = dVTemp;
}
VoltsAmplitude = VoltsAtMaxVolts - VoltsAtMinVolts;
VoltsNinetyPercentAmplitude = 0.9*VoltsAmplitude;
VoltsPeakMinusVoltsNinetyPercent = VoltsAtMaxVolts - VoltsNinetyPercentAmplitude;
VoltsPeakMinusVoltsNinetyPercentCalc = VoltsPeakMinusVoltsNinetyPercent - 2;
if (VoltsTemp < VoltsPeakMinusVoltsNinetyPercent)
{
TimeAtNinetyPercentRepolarization = TimeTemp;
VoltsAtNinetyPercentRepolarization = VoltsTemp;
dVAtNinetyPercentRepolarization = dVTemp;
VoltsTempNew = VoltsTemp
if (VoltsTempNew > VoltsPeakMinusVoltsNinetyPercent)
{
VoltsAtNinetyPercentRepolarizationNew = VoltsTempNew;
TimeAtNinetyPercentRepolarizationNew = TimeTempNew;
dVAtNinetyPercentRepolarizationNew = dVTempNew;
}
}
}
cout << TimeAtNinetyPercentRepolarizationNew << " " << VoltsAtNinetyPercentRepolarizationNew << " " << endl;
inFile.close();
return 0;
}
If you're curious, this program isn't for homework. It's part of the independent learning on C++ I'm doing for a Master's Thesis; the program will eventually model the APD90 of a ventricular action potential.
Thanks for reading