[問題] 用shell scripts計算反三角函數(附上解法)

看板Linux作者 (賴打)時間15年前 (2010/08/05 17:02), 編輯推噓2(207)
留言9則, 5人參與, 最新討論串1/1
我現在寫一個腳本 想要算出反三角函數的值 我有一個資料檔data裡面有我的數據 如下 #!/bin/bash cat data |awk ' NR>=1{ b = acos($1) x = 2*b*cos($3*0.01745)*sin($1/2*0.01745)/sin(b*0.01745) y = b*sin($3*0.01745)/sin(b*0.01745) printf"%8.6f, %1s, %8.6f\n" ,x, $2, y}'$dataname-input 現在就是b = 那個地方 無論我用acos還是arccos 好像都沒辦法算出反三角數 完全沒頭緒..有甚麼辦法可以去計算反三角函數嗎? 終點機顯示: awk: cmd. line:2: (FILENAME=- FNR=1) fatal: function `acos' not defined 如果是這樣 是要我自己定義acos的意思嗎? 要怎麼去定義?? 跪求相關想法 麻煩了 解答: 我查詢了awk的功能 發現他只有支援arctan 寫成atan2(y,x) 先找出cos(a)=b 因為我們已經有b值 已經知道cos(a)=b/1(斜邊分之臨邊) 表示對邊邊就是sqrt(1-b^2) 這樣可以找出sqrt的值以後 對邊跟b在用atan2即可以找出a角度為多少 很感謝大家的解答 雖然有看沒有懂 囧 補上自己比較笨的作法 希望可以幫助到有需要的人 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.50.52.49 ※ 編輯: danny6430 來自: 123.50.52.49 (08/05 17:32)

08/05 17:41, , 1F
你要定義 acos cos sin是什麼東西不是用數學軟體會不認得
08/05 17:41, 1F

08/05 17:49, , 2F
pi=`bc -l <<< "a(1.0)*4"`
08/05 17:49, 2F

08/05 17:51, , 3F
s(rad)=>sine;c(rad)=>cosine;angle should be a radians
08/05 17:51, 3F

08/05 17:54, , 4F
You should be man bc also
08/05 17:54, 4F

08/05 20:24, , 5F
如果沒有限制使用工具.可以考慮用octave.
08/05 20:24, 5F

08/05 20:24, , 6F

08/05 20:25, , 7F
如果沒記錯. octave應該可以用來計算三角函數.
08/05 20:25, 7F

08/05 20:58, , 8F
sin cos 這些對 octave 來說超小兒科吧XD 它的目標是matlab
08/05 20:58, 8F
※ 編輯: danny6430 來自: 123.50.52.49 (08/05 21:40)

08/06 08:02, , 9F
這種事 wcalc就可以了... 134kb 的小東西
08/06 08:02, 9F
文章代碼(AID): #1CMduJvB (Linux)