複数の入力で評価する必要がある関数があり、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 でコンパイルします。