小编Ove*_*tor的帖子

如何评估SymbolicC++中的符号变量?

我一直在尝试使用C++的几个计算机代数库来使用我正在进行的矢量微积分课程.我在GiNaC和SymbolicC++中遇到了非线性方程式的问题.

这是一个简单的例子,但问题是我无法弄清楚如何评估数字并可能将其转换为double或float:

#include <iostream>
#include "symbolicc++.h"

using namespace std;
int main(void)
{
    Symbolic x("x"), y("y");

    Equation e1 = (x^2) + (y^2) == 13;
    Equation e2 = (x^2) - y == 7;

    Equations eqs = {e1, e2};
    list<Symbolic> symbs = {x, y};
    list<Equations> sols = solve(eqs, symbs);

    Symbolic x_sol, y_sol;
    int i = 1;
    for( auto iter1 = sols.begin(); iter1 != sols.end(); iter1++)
    {
        x_sol = x.subst((*(*iter1).begin()));
        y_sol = y.subst((*(--(*iter1).end())));
        cout << "p" << i << " = {" …
Run Code Online (Sandbox Code Playgroud)

c++ symbolic-math symbolic-computation symbolicc++

4
推荐指数
2
解决办法
996
查看次数