1

複数の入力で評価する必要がある関数があり、loglog で出力を分析する必要があります。

feval("loglog", loglog_list) を呼び出すと、seg fault が発生します:S

これが私のコードです:

#include <iostream>
#include <cmath>

#include <octave-3.6.4/octave/oct.h>
#include <octave-3.6.4/octave/octave.h>
#include <octave-3.6.4/octave/parse.h>

double f(double x) { return std::exp(std::sin(x)); }

int main() {
    string_vector argv (2);
    argv(0) = "embedded";
    argv(1) = "-q";
    octave_main (2, argv.c_str_vec(), 1);

    octave_value_list loglog_arglist;

    for(int h = 0; h > -15; --h) loglog_arglist.append( octave_value( std::pow(10, h) ) );
    for(int h = 0; h > -15; --h) loglog_arglist.append( octave_value( f(std::pow(10, h)) ) );

    feval("loglog", loglog_arglist);
}

これは、オクターブのようにグラフを描画するスタンドアロン アプリケーションである必要があります。

loglog (<x values>, <y values>)

mkoctfile --link-stand-alone -o out program.cpp でコンパイルします。

4

0 に答える 0