Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #Criar um programa que realize um ajuste linear pelo método dos minimos quadrados.
- #De forma que sejam apresentadas 5 medidas de x e y;
- echo "informe os valores de x"
- read x1 x2 x3 x4 x5
- echo "informe os valores de y"
- read y1 y2 y3 y4 y5
- #para b=0
- sxy=$(echo "scale=2;(($x1*$y2)+($x2*$y2)+($x3*$y3)+($x4*$y4)+($x5*$y5))" |bc)
- sx=$(echo "scale=2;($x1+$x2+$x3+$x4+$x5)" |bc)
- sy=$(echo "scale=2;($y1+$y2+$y3+$y4+$y5)" |bc)
- a1=$(echo "scale=2;($sxy/($sx^2))" |bc)
- #para b=/0
- xm=$(echo "scale=2;(($sx/5))" | bc)
- ym=$(echo "scale=2;(($sy/5))" | bc)
- x1m=$(echo "scale=2;($x1-$xm)" | bc)
- x2m=$(echo "scale=2;($x2-$xm)" | bc)
- x3m=$(echo "scale=2;($x3-$xm)" | bc)
- x4m=$(echo "scale=2;($x4-$xm)" | bc)
- x5m=$(echo "scale=2;($x5-$xm)" | bc)
- sxm=$(echo "scale=2;(($x1m^2)+($x2m^2)+($x3m^2)+($x4m^2)+($x5m^2))" | bc)
- sxmy=$(echo "scale=2;(($x1m*$y1)+($x2m*$y2)+($x3m*$y3)+($x4m*$y4)+($x5m*$y5))" | bc)
- a2=$(echo "scale=2;($sxmy/($sxm^2))" | bc)
- b=$(echo "scale=2;($ym-($a2*$xm))" |bc)
- 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 ]
- then
- echo "O valor de b é zero"
- echo "o valor de a é: a=$a1"
- echo "a função é do tipo y=$a1*x"
- else
- echo "o valor de b é: b=$b"
- echo "o valor de a é: a=$a2"
- echo "a função é do tipo: y=$a2*x+$b"
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement