小编gpi*_*ris的帖子

Matplotlib python show()立即返回

我有一个简单的python脚本,它绘制了同一图中的一些图形.所有图形都是由draw()创建的,最后我调用show()函数来阻止.

该脚本用于Python 2.6.6,Matplotlib 0.99.3和Ubuntu 11.04.试图在Python 2.7.2,Matplotlib 1.0.1和Ubuntu 11.10下运行它,但show()函数立即返回而不等待杀死数字.

这是一个错误吗?或者一个新功能,我们将不得不改变我们的脚本?有任何想法吗?

编辑:它确实在交互模式下保持打开情节,即python -i ...,但它曾经没有这个工作,并试图在脚本中运行plt.ion()并在正常模式下运行但没有运气.

python matplotlib

47
推荐指数
4
解决办法
6万
查看次数

GSL中的静态虚拟变通方法

您好我正在尝试使用GNU Scientific Library中的微分方程包编写一个小程序来模拟动态系统.问题不是GSL特有的,但我只是给你所有的细节

在当前的设计中,我想要一个抽象Experiment类,其中所有复杂的函数都将由gsl库调用.显式系统的动力学将由两个函数定义,即func和jacob,它们分别定义特定的运动方程和雅可比.因此,我想在Experiment类中进行所有模拟,并且只覆盖具有将由其继承的特定类的两个虚函数Experiment.

我遇到的问题是虚拟这些方法不能编译

error: argument of type ‘int (Experiment::)(double, const double*, double*, void*)’ does not match ‘int (*)(double, const double*, double*, void*)’

如果我将这两个函数设置为静态,程序将编译,但我将失去我想要针对特定​​问题实现的功能.

显然,它们不能同时是静态的和虚拟的,所以有人知道这个问题的解决方法吗?有什么建议可以更好地接近它吗?

提前致谢.

编辑:下面的代码编译,但他们不是虚拟的

class Experiment
{
public:
    Experiment();
    ~Experiment();

    void setupExperiment();
    static int func(double t, const double y[], double f[], void *params);
    static int jac (double t, const double y[], double *dfdy, double dfdt[], void *params);
};

void Experiment::setupExperiment(){

    double mu = 10;

    gsl_odeiv2_system sys = {func, jac, 2, …
Run Code Online (Sandbox Code Playgroud)

c++ virtual static

4
推荐指数
1
解决办法
218
查看次数

标签 统计

c++ ×1

matplotlib ×1

python ×1

static ×1

virtual ×1