Advertisement
Xmidt

MMQ

Mar 22nd, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.46 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #Criar um programa que realize um ajuste linear pelo método dos minimos quadrados.
  4. #De forma que sejam apresentadas 5 medidas de x e y;
  5.  
  6. echo "informe os valores de x"
  7. read x1 x2 x3 x4 x5
  8.  
  9. echo "informe os valores de y"
  10. read y1 y2 y3 y4 y5
  11.  
  12. #para b=0
  13.  
  14. sxy=$(echo "scale=2;(($x1*$y2)+($x2*$y2)+($x3*$y3)+($x4*$y4)+($x5*$y5))" |bc)
  15. sx=$(echo "scale=2;($x1+$x2+$x3+$x4+$x5)" |bc)
  16. sy=$(echo "scale=2;($y1+$y2+$y3+$y4+$y5)" |bc)
  17.  
  18. a1=$(echo "scale=2;($sxy/($sx^2))" |bc)
  19.  
  20. #para b=/0
  21.  
  22. xm=$(echo "scale=2;(($sx/5))" | bc)
  23. ym=$(echo "scale=2;(($sy/5))" | bc)
  24.  
  25. x1m=$(echo "scale=2;($x1-$xm)" | bc)
  26. x2m=$(echo "scale=2;($x2-$xm)" | bc)
  27. x3m=$(echo "scale=2;($x3-$xm)" | bc)
  28. x4m=$(echo "scale=2;($x4-$xm)" | bc)
  29. x5m=$(echo "scale=2;($x5-$xm)" | bc)
  30.  
  31. sxm=$(echo "scale=2;(($x1m^2)+($x2m^2)+($x3m^2)+($x4m^2)+($x5m^2))" | bc)
  32. sxmy=$(echo "scale=2;(($x1m*$y1)+($x2m*$y2)+($x3m*$y3)+($x4m*$y4)+($x5m*$y5))" | bc)
  33.  
  34. a2=$(echo "scale=2;($sxmy/($sxm^2))" | bc)
  35. b=$(echo "scale=2;($ym-($a2*$xm))" |bc)
  36.  
  37.  
  38. if [ $x1 -eq 0 ] && [ $y1 -eq 0 ] || [ $x2 -eq 0 ] && [ $y2 -eq 0 ] || [ $x3 -eq 0 ] && [ $y3 -eq 0 ] || [ $x4 -eq 0 ] && [ $y4 -eq 0 ] || [ $x5 -eq 0 ] && [ $y5 -eq 0 ]
  39.    then
  40.         echo "O valor de b é zero"
  41.         echo "o valor de a é: a=$a1"
  42.         echo "a função é do tipo y=$a1*x"
  43.        
  44.     else        
  45.         echo "o valor de b é: b=$b"
  46.          echo "o valor de a é: a=$a2"
  47.         echo "a função é do tipo: y=$a2*x+$b"
  48.  
  49. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement