functions.ts 833 B

123456789101112131415161718192021222324252627282930313233
  1. export interface SingleVarFunction {
  2. f: (x: number) => number
  3. df: (x: number) => number
  4. domain: [number, number]
  5. range: [number, number]
  6. }
  7. const function1: SingleVarFunction = {
  8. f: (x: number) => x * x,
  9. df: (x: number) => 2 * x,
  10. domain: [-3, 3],
  11. range: [0, 9]
  12. }
  13. const function2: SingleVarFunction = {
  14. f: (x: number) => x ** 3,
  15. df: (x: number) => 3 * x * x,
  16. domain: [-3, 3],
  17. range: [-27, 27]
  18. }
  19. const function3: SingleVarFunction = {
  20. domain: [-4.0, 4.0],
  21. range: [-50.0, 150.0],
  22. f: (x: number) => (x ** 2 - x * 4 + 4) * (x ** 2 + x * 4 + 2),
  23. df: (x: number) => 4 * (x - 2) * (x + 1 + Math.sqrt(2)) * (x + 1 - Math.sqrt(2))
  24. }
  25. export const singleVarfunctions = {
  26. 'y = x^2': function1,
  27. 'y = x^3': function2,
  28. 'y = (x^2 - 4x + 4)(x^2 + 4x + 2)': function3
  29. } as { [name: string]: SingleVarFunction }