public override void initials(String UX0, String VX0) { // Initialize initials // setting an initial waves at t = 0 Parallel.Invoke( () => { if (u != null) { if (UX0.Equals("")) { for (int i = 0; i < N; i++) u[0, i] = u_x_0(x[i]); } else { Parser pUX0 = new Parser(); for (int i = 0; i < N; i++) { pUX0.Evaluate(UX0.Replace("x", x[i].ToString())); u[0, i] = pUX0.Result; } } } }, () => { if (v != null) { if (VX0.Equals("")) { for (int i = 0; i < N; i++) v[0, i] = v_x_0(x[i]); } else { if (v != null) { Parser pVX0 = new Parser(); for (int i = 0; i < N; i++) { pVX0.Evaluate(VX0.Replace("x", x[i].ToString())); v[0, i] = pVX0.Result; } } } } } ); }
public static string Calculate(string expression) { Parser p = new Parser(); if (p.Evaluate(expression)) return p.Result.ToString(); else throw new Exception("calculate"); }