将ODE从maple转换为python

将ODE从maple转换为python,python,ode,maple,numerical-analysis,Python,Ode,Maple,Numerical Analysis,如何将以下用maple编写的代码转换为Python框架 ode:=diff(y(x),x)= #=An equation sol:=dsolve([ode, y(1)=0.73}, numeric, output=listprocedure) fy:=eval(y(x),sol);nn:=100 for x from 1 to nn do fy(5.1*x/nn) end do; 我找不到类似于上述程序的代码。感谢您的帮助使用命令CodeGeneration:-Python可以让Maple将代

如何将以下用maple编写的代码转换为Python框架

ode:=diff(y(x),x)= #=An equation
sol:=dsolve([ode, y(1)=0.73}, numeric, output=listprocedure)
fy:=eval(y(x),sol);nn:=100
for x from 1 to nn do fy(5.1*x/nn) end do;

我找不到类似于上述程序的代码。感谢您的帮助

使用命令
CodeGeneration:-Python
可以让Maple将代码转换为Python。然后,您可以将代码编写为过程并进行转换。问题是,如果您尝试这样做,您将遇到Maple无法识别Python中的dsolve等功能的麻烦,而它只会将这些函数调用逐字复制到Python中。也就是说,我不确定是否有可能让Maple自动执行此操作

这是我失败的尝试,忽略了for循环,因为

myproc := proc(ode,ic)
    local sol,fy,out,i,nn;
    sol := dsolve({ode,ic},numeric,output=listprocedure);
    nn := 100;

    fy := eval(y(x),sol);
    out := [];

    for i to nn do;
        out := [op(out),fy(5.1*i/nn)];
    end do;
    out;
end proc:

## Example of use:
## myproc(diff(y(x),x) = 1/x,y(1) = 0.73);

## Convert to Python
CodeGeneration:-Python(myproc);

可以使用命令
CodeGeneration:-Python
将Maple代码转换为Python。然后,您可以将代码编写为过程并进行转换。问题是,如果您尝试这样做,您将遇到Maple无法识别Python中的dsolve等功能的麻烦,而它只会将这些函数调用逐字复制到Python中。也就是说,我不确定是否有可能让Maple自动执行此操作

这是我失败的尝试,忽略了for循环,因为

myproc := proc(ode,ic)
    local sol,fy,out,i,nn;
    sol := dsolve({ode,ic},numeric,output=listprocedure);
    nn := 100;

    fy := eval(y(x),sol);
    out := [];

    for i to nn do;
        out := [op(out),fy(5.1*i/nn)];
    end do;
    out;
end proc:

## Example of use:
## myproc(diff(y(x),x) = 1/x,y(1) = 0.73);

## Convert to Python
CodeGeneration:-Python(myproc);

sympy代表符号scipy,numpy代表数值解算器,用于将sympy符号表达式转换为函数进行数值计算枫叶代码中存在语法错误<代码>ode:=diff(y(x),x)=不完整。是的,但我写了,#=这行前面的一个方程sympy用于符号scipy,numpy用于数值解算器,用于将sympy符号表达式转换为数值计算函数您的maple代码中有语法错误<代码>代码:=diff(y(x),x)=不完整。是的,但我在这行前面写了一个等式是的,代码生成是不同的,但我写了正确的形式,并在这里作为答案注释。我的代码没有在maple代码中转换成python,它只是一个新编写的代码是的,代码生成是不同的,但是我编写了正确的形式,我在这里评论它,作为明天的答案。我的代码没有在maple代码中转换成python,它只是一个新编写的代码