Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class FuncBuilderHelper
- {
- public static IList<string> FuncList { get; }= new List<string>()
- {
- "sin" ,
- "cos",
- "tan",
- "cotan",
- "acos",
- "asin",
- "atan"
- };
- public static Func<double,double,double> GenerateFunc(string funcTitle,double[] pars)
- {
- Func<double, double, double> result = null;
- switch (funcTitle)
- {
- case "sin":
- result = (x, y) => pars[0] / pars[1] * Math.Sin(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
- break;
- case "cos":
- result = (x, y) => pars[0] / pars[1] * Math.Cos(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
- break;
- case "tan":
- result = (x, y) => pars[0] / pars[1] * Math.Tan(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
- break;
- case "cotan":
- result = (x, y) => pars[0] / pars[1] / Math.Tan(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
- break;
- case "acos":
- result = (x, y) => pars[0] / pars[1] * Math.Acos(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
- break;
- case "asin":
- result = (x, y) => pars[0] / pars[1] * Math.Asin(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
- break;
- case "atan":
- result = (x, y) => pars[0] / pars[1] * Math.Atan(x * pars[2] / pars[3]) + x * pars[4] / pars[5];
- break;
- default:
- break;
- }
- return result;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement