# Argument for "integrate_ode" function

Hi,

I am using the “integrate_ode” function to obtain the integrate of a differential equation. One argument is: x_r: real data, type real[]. However, my data input consists of several components, i.e., two vectors with different size, and a matrix. How can put all my input in this x_r argument?

Thanks a lot!

One element at a time. You usually also have to specify `x_i` as the indices of things so that you can put the elements of `x_r` into a vector, matrix, etc. on the inside of the function being integrated.

Thank you Ben! Can you be a little more specific?

For example, my input data have a vector “x” with size 3, another vector “z” with size 5, and a matrix with 100 rows and 3 columns. They are all needed for my function being integrated.

How can I combine all these elements together into x_r as the type real[]? Then I will pass it to the “integrate_ode” function.

Thanks!

``````int x_i = {3, 5, 100, 3};
int pos = 1 + x_i + x_i;
real x_r[x_i + x_i + x_i * x_i];
for (k in 1:x_i) x_r[k] = x[k];
for (k in 1:x_i) x_r[k + x_i] = z[k];
for (i in 1:x_i) for(j in 1:x_i) {
x_r[pos] = m[i,j];
pos += 1;
}
``````
1 Like

Very much appreciated. This is very helpful!