matlab_load

matlab_load lädt MATLAB-Dateien (mat-Dateien) in ein UniScript-Objekt.

obj = matlab_load(ssFileName)

Returnwert

obj ist ein UniScript-Object. Falls ein Fehler aufgetreten ist, wird ein Error-Object (siehe error_create) zurück gegeben.

Parameter

ssFileName

ssFileName ist der Name der MATLAB-Datei. Die Dateien haben gewöhnlich die Dateinamenerweiterung .mat.

Beispiel

def test_matlab_load()
{
    // Create an UniScript-Object

    o = [.]
    o.x = linspace(0, 2*PI, 100);
    o.y = sin(o.x);

    ssFile = GetTempPath() + "test.mat"
    err = matlab_save(o, ssFile);
    if (type(err) == "error") {
        error("Cant write " + ssFile + " (" + err.message + ")");
    }

    o_res = matlab_load(ssFile);
    if (type(err) == "error") {
        error("Cant load " + ssFile + " (" + err.message + ")");
    }
}

test_matlab_load()

Kommentar

Falls in der MATLAB-Datei Sparse-Matrizen vorhanden sind, können sie mit folgender Funktion in Matrizen umgewandelt werden:

def FullMatrix(mSparse)
{
    dims = mSparse.dims;
    ir = mSparse.ir;
    jc = mSparse.jc;
    p = mSparse.p;
    m = zeros(dims);
    for (i in 1:len(p)) {
        m[ir[i]; jc[i]] = p[i];
    }
    return m;
}

History

Version Beschreibung
R2013.3 Unterstützung von mxINT64_CLASS, mxUINT64_CLASS und mxFUNCTION_CLASS.
5.10.2 Es können nun auch MAT-4-Dateien und Dateien mit big-endian byte order gelesen werden.
5.10.0 Neu.

id-1988090