我有一个应该用几个输入来评估的函数,我应该用 loglog 分析输出。
当我调用 feval("loglog", loglog_list) 我得到一个段错误: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);
}
它应该是一个独立的应用程序,它应该像 octave 一样绘制一个图形
loglog (<x values>, <y values>)
我编译它: mkoctfile --link-stand-alone -o out program.cpp