Dans le même fil que this question, je donne un autre coup de feu et demander SO pour aider à résoudre la façon dont je devrais régler ce problème. J'écris un script bash qui doit effectuer les opérations suivantes:Une aide mathématique plus simple à bash!
- J'ai un cercle
x
ety
avec un rayonr
. - Je spécifie
resolution
qui est la distance entre les points que je vérifie. - J'ai besoin de boucle sur x et y (de -r à r) et de vérifier si le courant (x, y) est dans le cercle, mais je boucle sur discrète
i
etj
à la place. - Puis
i
etj
doivent passer de-r/resolution
à+r/resolution
. - Dans la boucle, ce qui doit se produire est
echo "some_text i*resolution j*resolution 15.95 cm"
(noter l'absence de$
parce que je suis clueless). Cette sortie est ce que je cherche vraiment.
Mon meilleur coup jusqu'à présent:
r=40.5
resolution=2.5
end=$(echo "scale=0;$r/$resolution") | bc
for ((i=-end; i<=end; i++));do
for ((j=-end; j<=end; j++));do
x=$(echo "scale=5;$i*$resolution") | bc
y=$(echo "scale=5;$j*$resolution") | bc
if ((x*x + y*y <= r*r));then <-- No, r*r will not work
echo "some_text i*resolution j*resolution 15.95 cm"
fi
done
done
J'ai eu juste assez avec bash et peut regarder dans ksh comme cela a été suggéré par quelqu'un dans ma dernière question, mais si quelqu'un connait une bonne façon pour l'exécuter, s'il vous plaît faites le moi savoir! Quelle que soit la solution à ce problème, mon tempérament futur sera sûrement orienté vers le script bash.
Merci pour toute aide; Je serai de retour dans la matinée quelques heures pour mettre à jour et répondre. – physicsmichael
ksh? S'il vous plaît...ça va de mal en pis. Mon opinion est que vous utilisez le mauvais outil. un shell est censé être utilisé pour exécuter des programmes, pas pour faire des maths. –
J'ai eu des pistes de projet insistent sur le fait que tout devait être fait dans le shell avant, parce que 'personne ne savait perl'. Parfois, vous devez le faire fonctionner avec les contraintes qui vous ont été données. Même si ces contraintes ne sont pas saines. –