数値計算総合

■ このスレッドは過去ログ倉庫に格納されています
2020/03/18(水) 04:44:36.36ID:mkcMNfoZ
プログラミングで使う数値計算のスレです
正規化, 微分積分, 行列式, etc
2020/03/18(水) 18:04:20.14ID:mkcMNfoZ
質問スレで0~255を0~3の範囲に変換したいと質問した
回答は x * 3 / 255 を得られた
これについて自分なりに考えてみる

まず x / 255 でxが0~255の範囲であった時に、値が0~1の範囲に正規化される
つまりxを3倍すれば正規化の範囲も3倍になるということになる

回答を頂く前に (x / (255 * 3)) * 10 という式を自分で考えていたが、回答の式のほうがスマートに実装できた

x / 255という式を最初に発想できていれば自力で解決できたかもしれないのが悔やまれる
3デフォルトの名無しさん
垢版 |
2020/03/20(金) 05:19:59.16ID:S52jVpLl
数値計算の、既にライブラリとかが整備されてそうなやつ(2次方程式の解とか)を、
自前で書かないといけない場合って、
ライブラリの自作やアルゴリズムとかの勉強を除くと残ってるのだろうか?

ライセンス絡みで、仕事では使えないから自分で書くとか、
仕様が自分の用途にはoverkillだからサブセットを書くとかは
あるかも知れないけど。
2020/03/20(金) 09:46:28.25ID:IqcuAu3D
>>2
>回答は x * 3 / 255 を得られた
x * 4 / 256 (= x / 64)の間違いだよね?
2020/03/20(金) 10:02:06.25ID:Cf35XpSN
>>4
ごめ、>>2は間違い
質問スレで貰った回答は x * 4 / 256 で合ってる
6デフォルトの名無しさん
垢版 |
2020/03/20(金) 13:14:46.24ID:48ihpUI3
xが0なら2を1なら− 1を返すにはどうやる?
2020/03/20(金) 21:26:13.31ID:tkx4ScZk
2-3*x
2020/03/20(金) 21:28:20.69ID:tkx4ScZk
xが0または1しか取り柄ないなら
x==0?2:-1
9デフォルトの名無しさん
垢版 |
2020/03/22(日) 14:38:45.70ID:Ro/YVDrq
スパコン界隈はまだFortranが現役なんだっけ?
最高齢かつ現役ってスゲーな
2020/03/23(月) 18:53:04.48ID:N0B+Usda
2点の場合は線形近似でぴったりいきますね
2020/04/01(水) 03:27:42.30ID:AhkJFjRl
-1 0 1 0 -1 0 1 ...

みたいな数列が欲しいんだけど、どうすればいいんだろう

-1 + time % 3

だと -1 0 1 -1 0 1 ... という循環になるけど
2020/04/01(水) 06:41:46.41ID:AhkJFjRl
>>11

if文使うとこうなるけど数学的にスマートな方法がわからない

if x % 2 == 0:
 y = 0
elif x % 4 == 1:
 y = 1
elif x % 4 == 3:
 y = -1
2020/04/01(水) 07:10:56.36ID:GBjVGlaM
>>11
数学的にきれいなのは三角関数でπ/2ずつ増やすことだろうけど無駄に計算量が増えるだけだな。
以下のでどう?
int x[4]={-1,0,1,0};
int a=x[i%4];
2020/04/01(水) 07:27:36.92ID:AhkJFjRl
>>13
おお、なるほど
三角関数使うのは俺も考えたんだけど、こっちのほうがスマートだね
2020/04/02(木) 17:45:51.29ID:1pp0Yvcl
>>9
C系はポインタのエイリアス問題があるからね。
restrictができたけど
16デフォルトの名無しさん
垢版 |
2020/04/02(木) 18:39:18.20ID:uD/Xy5j7
密度が均一だと仮定した場合の地下H(m)における重力
2020/04/02(木) 19:13:11.13ID:+ANGsukS
1-abs(i%4-2)
2020/04/02(木) 19:17:27.60ID:aioX/vn4
>>16
質問したいのか何なのか、もう少し日本語を頑張れ
2020/04/02(木) 19:39:13.42ID:+ANGsukS
これでもできる
(i%4-1)(i%4+1)(3-i%4)/3
2020/04/02(木) 20:05:36.09ID:jnuUGzWf
>>17,19
>>17これいいね
計算量も少なそう
2020/05/07(木) 09:29:58.63ID:iq2XxwEd
x=f(x)で、f(x)が複雑でx=定数の形にするのが大変なんで、数値計算でxの値をだしたいんですが、いい方法は有りますでしょうか
2020/05/08(金) 09:42:46.66ID:+HfjNmpJ
>>21
g(x)=f(x)-xとしてg(x)=0を解けばいいじゃん
g(x)=0を解くライブラリなんてその辺にいくらでも転がってるでしょ
gslとか
2020/05/08(金) 14:22:46.68ID:gaKPf4O2
>>21
計算式や条件がわからんと
2020/05/11(月) 19:50:17.40ID:VibtNC1D
良スレに育てよ
25デフォルトの名無しさん
垢版 |
2020/06/18(木) 05:19:02.39ID:9CH7l1UD
イージングの公式
値 += (目標値 - 現在の値) * 減速値
2020/06/18(木) 10:45:06.58ID:8/3vTp6f
>>4->>5
なんで?0~255を0~3の範囲に変換したいのに
x=255を代入したらさ
255×3÷255=3は良いとして
255×4÷256= 3.984375だよ?3以下じゃない
同じく255÷64= 3.984375だよ?
0~255を0~3の範囲に変換出来てないじゃない
2020/06/18(木) 10:51:10.14ID:zy7wNIV0
>>26
ここはプログラム板の数値計算のスレだが、何で"/"記号を普通の算数の割り算だと思ったの?
2020/06/18(木) 10:55:30.04ID:8/3vTp6f
ご教授願います。
Windows7以前の電卓はメモ帳等のテキストエディタに書いた長い計算式をコピペで計算出来たのですが
Windows10になってからは出来ないのでしょうか?
あと、計算式テキストやファイルをコマンドライン引数で渡す方法がありませんでしょうか?
VBSのActiveXで渡してリターンが得られらたら嬉しいんですが
どなたかご存知有りませんか?よろしくお願いします。
2020/06/18(木) 11:08:16.46ID:8/3vTp6f
>>27
数の値を計らって算出するからじゃないの?
数値計算という言葉には近似計算の歴史も含まれているわけで、
そりゃあ質問スレで質問されたレスを検索してまで読みに行ってまでは無いので目的は知らんけど
intやdoubleのキャストが暗黙とは言えないでしょう?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況