cwritemat (obsolete) — Write a single double or a matrix of double into Scilab memory using call_scilab. Note that it is the default datatype in Scilab. Starting with Scilab 5.2, this function is obsolete. See API_Scilab: Double writing for remplacement.
int C2F(cwritemat)(char *name, int *m, int *n, int *mat, unsigned long name_len);
The name of the future Scilab variable
Number of rows
Number of columns
The actual matrix of double (array of double). Note that it is going to be stored in Scilab columnwise.
The length of the variable name (fortran compatibility)
C2F is just a macro which provides to this function the ability to be called from fortran
This help describes how to use the function cwritemat.
Using this function will basically do the same as A=[ 1 3 4 2 ]; but straight into Scilab memory with call_scilab.
// This example shows how to write a Scilab matrix of double in Scilab engine // * Write a matrix into Scilab // * B=[1 4 2 3; // * 3 9 8 2 ] // * Note that it is done column by column // See: modules/call_scilab/examples/basicExamples/readwritematrix.c // StartScilab double B[] = {1,3,4,9,2,8,3,2}; /* Declare the matrix */ int rowB = 2, colB = 4; /* Size of the matrix */ char variableNameB[] = "B"; C2F(cwritemat)(variableNameB, &rowB, &colB, B, strlen(variableNameB)); /* Write it into Scilab's memory */ printf("\n"); printf("Display from Scilab of B:\n"); SendScilabJob("disp(B);"); /* Display A */