使用octave_value_list的Octave C ++ feval“loglog”

时间:2013-11-05 11:01:04

标签: c++ octave

我有一个应该用几个输入进行评估的函数,我应该用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

0 个答案:

没有答案