Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I am getting the following error when I run my code: Unhandled exception at 0x0FD6CAB6 (ucrtbased.dll) in DTW_1.exe: An invalid parameter was passed to a

I am getting the following error when I run my code: Unhandled exception at 0x0FD6CAB6 (ucrtbased.dll) in DTW_1.exe: An invalid parameter was passed to a function that considers invalid parameters fatal. It builds fine but the debugger cannot figure it out. An x points towards where I attempted to enter 0 into my 2D matrix, and when I delete that line the error follows to the line below it saying the same thing. Here is my code:

#include

#include

#include

#include

#include

using namespace std;

int main()

{

//Extract data from two txt files and create initial vector

vector Adata;

vector Bdata;

int i = 0;

// get A data into a vector

ifstream in("ecg_1.txt"); // change it to other file name if you want. but make sure you have input.txt to test this program

if (in.is_open()) {

int num;

while (in >> num) { // to read numbers

Adata.push_back(num); // add to vector

}

}

cout << endl;

in.close(); // close file

// get B data into a vector

ifstream aa("ecg_2.txt"); // change it to other file name if you want. but make sure you have input.txt to test this program

if (aa.is_open()) {

int num;

while (aa >> num) { // to read numbers

Bdata.push_back(num); // add to vector

}

}

cout << endl;

aa.close(); // close file

// put data into a 2D ditance matrix

vector > Distance_M;

Distance_M[0][0] = 0;

Distance_M.resize(51, vector(51));

for (int i = 0; i < 50; i++) {

Distance_M[0][i + 1] = Adata[i];

}

for (int j = 0; j < 50; j++) {

Distance_M[j + 1][0] = Adata[j];

}

for (int i = 1; i < 50; i++) {

for (int j = 1; j < 50; j++) {

Distance_M[i][j] = abs(Adata[i] - Bdata[j] + min(min(Distance_M[i - 1][j - 1], Distance_M[i - 1][j]), Distance_M[i][j - 1]));

}

}

// Finding the allignment

vector a_points;

vector b_points;

vector allignment;

int l = 50;

int k = 50;

int x = 50;

int y = 50;

while (l > 1 && k > 1) {

// Minimum point is to the left

if ((Distance_M[x - 1][y] > Distance_M[x - 1][y - 1]) && (Distance_M[x - 1][y] > Distance_M[x][y - 1])) {

l = l - 1;

x = x - 1;

a_points.push_back(l);

b_points.push_back(k);

allignment.push_back(Distance_M[x][y]);

// Minimum point is to the down left and right

if ((Distance_M[x - 1][y - 1] > Distance_M[x - 1][y]) && (Distance_M[x - 1][y - 1] > Distance_M[x][y - 1]))

l = l - 1;

k = k - 1;

x = x - 1;

y = y - 1;

a_points.push_back(l);

b_points.push_back(k);

allignment.push_back(Distance_M[x][y]);

// Minimum point is to the bottom

if ((Distance_M[x][y - 1] > Distance_M[x - 1][y - 1]) && (Distance_M[x][y - 1] > Distance_M[x - 1][y]))

k = k - 1;

y = y - 1;

a_points.push_back(l);

b_points.push_back(k);

allignment.push_back(Distance_M[x][y]);

}

// Plot sets A and B

// Plot every allignment

// Will be from a_points to b_points but starting from back so be careful

}

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Oracle9i Database Administrator Implementation And Administration

Authors: Carol McCullough-Dieter

1st Edition

0619159006, 978-0619159009

More Books

Students also viewed these Databases questions