アカウント名:
パスワード:
Matlabのように便利な言語をはじめに学ぶと他の言語何も触らなくなる人が大量に出てくるから
PHPerみたいにMatlabしかできないゴミが出来上がる
MATLABしか使えないPHPerって、存在しなくね?
工学部ならMATLABは妥当な選択肢だが、コンピューターサイエンス学部でMATLABというのは首を傾げるしかない#配列のインデックスが1から始まるのはどうにかならんか? 数式で表されたアルゴリズムをコードに落とすのにとにかく不便
フーリエ変換の直流成分の添字が1でしたっけ?私もあれはないわーと思いました。0だよねやっぱ。せめてFORTRANみたいに指定できればいいのに。
#MATLABはほとんど知らないので的外れなこと言ってたらごめんなさい。
フーリエ変換に限らず、例えば時系列のデータを扱う時に(離散化した)時刻は0から始まるのが常識でしょう(サンプリングしたデータに常に遅延がついて、遅延0を表現できないのはおかしい)だから工学の分野のアルゴリズムは0から始まるのが一般的なわけで……影響が大きすぎて今更仕様を変えられないのだろうけど、BASICだって0/1のモード切替があるくらいだからねえ
MATLABでコンピュータサイエンスというのは確かに疑問だけど配列のインデクスが1からというのは、MATLABの根本に行列があって数学ベースで考えるものだから0番目というのはコンピュータサイエンスベースでの考え方
数学でも自然数は 0 を含める流儀が主流だと思いますが。
自然数は1から、整数が0からでは?
いやいや、整数は負の数を含みますよ。集合論とか数学自身を構築しようとかいう分野では、自然数は0からって言うのをよく見ますね。
負の整数はどこかへ飛んでいきましたか?
インデクスxが「x番目」と言われたり書かれたりするので、自然数と言うより序数的なものだと考えてるなにか集合を用意して要素に順番を与えると、最初の要素に「1番目」が割り当てられ、0は基本としては序数から外されている
んなわけない。
ゼロを含めるのは、零元をどうするか、っていう話がでてからだから、そういう自然数は自然じゃない。ただ、集合論の人たちは空集合を集合にカウントしたがるから、そっちでは仕方がない。
序数には正の整数をつかいませんか?行列の0番目って言わないような。cのようにポインタ演算出来る言語では便利ですが、そろそろ次の世代に移る時期かも
このツリーにコメントしてる人は、ペアノの公理 [wikipedia.org]に目を通してから議論しような
えっと、ご指摘の Wikipedia のページ自体にペアノ自身は 0 でなく 1 から始めたことが書かれていますね。でも現代的には 0 から始めた方が便利がいいので 0 から始める人の方が多い気がします。
「行列の添字のつけ方の流儀」の話が「自然数の表現の流儀」にすりかわってますよ.
これが、そうでもないんですよ。0 が含まれていなかったりすることも結構あります。なので、本文中もしくは、記号の凡例とかに、この辺の注意書きが書かれていたりしますね。
だから、nonnegatve integer (非負整数) と書くのが無難ですかね。また、記号でもZ_{0} = {n | n >= 0}Z_{+} = {n | n > 0}
と書いて、N を使わないこともあったりします。
行列は1行目からであって、0行目はないですよ。どの方言の数学ですか?
awkも、split()で得られる配列の添字は1から始まってます。(ただ、awkの配列は連想配列オンリーなので、awkの配列一般が「添字が1から始まる」というわけではないのですが。)
シェルのソートコマンドとか、正規表現のマッチ部分とか、1はじまりの添字は結構ありますね。
MATLAB は MATrix LABoratory なんだよ.線形空間にまつわる計算が本来の対象.
だから,添字は 1 から始まるのが数学的に正しい流儀で,おかしいことではない.なぜならそれはベクトル空間の次元を数える量でもあるから.昔習ったろ? Ker とか Img とか. あれが数学の定義とずれると困るんだよ.
まあ,そういう意味でそもそも論で言えば,コンピュータサイエンスで使う道具じゃないんだと思うよ.
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
開いた括弧は必ず閉じる -- あるプログラマー
便利な言語はじめに覚えるのは (スコア:0)
Matlabのように便利な言語をはじめに学ぶと他の言語何も触らなくなる人が大量に出てくるから
PHPerみたいにMatlabしかできないゴミが出来上がる
Re:便利な言語はじめに覚えるのは (スコア:1)
MATLABしか使えないPHPerって、
存在しなくね?
Re: (スコア:0)
工学部ならMATLABは妥当な選択肢だが、コンピューターサイエンス学部でMATLABというのは首を傾げるしかない
#配列のインデックスが1から始まるのはどうにかならんか? 数式で表されたアルゴリズムをコードに落とすのにとにかく不便
Re: (スコア:0)
フーリエ変換の直流成分の添字が1でしたっけ?
私もあれはないわーと思いました。0だよねやっぱ。
せめてFORTRANみたいに指定できればいいのに。
#MATLABはほとんど知らないので的外れなこと言ってたらごめんなさい。
Re: (スコア:0)
フーリエ変換に限らず、例えば時系列のデータを扱う時に(離散化した)時刻は0から始まるのが常識でしょう
(サンプリングしたデータに常に遅延がついて、遅延0を表現できないのはおかしい)
だから工学の分野のアルゴリズムは0から始まるのが一般的なわけで……
影響が大きすぎて今更仕様を変えられないのだろうけど、BASICだって0/1のモード切替があるくらいだからねえ
Re: (スコア:0)
MATLABでコンピュータサイエンスというのは確かに疑問
だけど配列のインデクスが1からというのは、MATLABの根本に行列があって数学ベースで考えるものだから
0番目というのはコンピュータサイエンスベースでの考え方
Re:便利な言語はじめに覚えるのは (スコア:1)
数学でも自然数は 0 を含める流儀が主流だと思いますが。
Re: (スコア:0)
自然数は1から、整数が0からでは?
Re: (スコア:0)
いやいや、整数は負の数を含みますよ。
集合論とか数学自身を構築しようとかいう分野では、
自然数は0からって言うのをよく見ますね。
Re: (スコア:0)
負の整数はどこかへ飛んでいきましたか?
Re: (スコア:0)
インデクスxが「x番目」と言われたり書かれたりするので、自然数と言うより序数的なものだと考えてる
なにか集合を用意して要素に順番を与えると、最初の要素に「1番目」が割り当てられ、0は基本としては序数から外されている
Re: (スコア:0)
んなわけない。
ゼロを含めるのは、零元をどうするか、っていう話がでてからだから、そういう自然数は自然じゃない。ただ、集合論の人たちは空集合を集合にカウントしたがるから、そっちでは仕方がない。
Re: (スコア:0)
序数には正の整数をつかいませんか?
行列の0番目って言わないような。
cのようにポインタ演算出来る言語では
便利ですが、そろそろ次の世代に移る時期かも
Re: (スコア:0)
このツリーにコメントしてる人は、ペアノの公理 [wikipedia.org]に目を通してから議論しような
Re: (スコア:0)
えっと、ご指摘の Wikipedia のページ自体にペアノ自身は 0 でなく 1 から始めたことが書かれていますね。
でも現代的には 0 から始めた方が便利がいいので 0 から始める人の方が多い気がします。
Re: (スコア:0)
「行列の添字のつけ方の流儀」の話が「自然数の表現の流儀」にすりかわってますよ.
Re: (スコア:0)
これが、そうでもないんですよ。0 が含まれていなかったりすることも結構あります。
なので、本文中もしくは、記号の凡例とかに、この辺の注意書きが
書かれていたりしますね。
だから、nonnegatve integer (非負整数) と書くのが無難ですかね。
また、記号でも
Z_{0} = {n | n >= 0}
Z_{+} = {n | n > 0}
と書いて、N を使わないこともあったりします。
Re: (スコア:0)
行列は1行目からであって、0行目はないですよ。
どの方言の数学ですか?
Re: (スコア:0)
awkも、split()で得られる配列の添字は1から始まってます。(ただ、awkの配列は連想配列オンリーなので、awkの配列一般が「添字が1から始まる」というわけではないのですが。)
Re: (スコア:0)
シェルのソートコマンドとか、正規表現のマッチ部分とか、1はじまりの添字は結構ありますね。
Re: (スコア:0)
工学部ならMATLABは妥当な選択肢だが、コンピューターサイエンス学部でMATLABというのは首を傾げるしかない
#配列のインデックスが1から始まるのはどうにかならんか? 数式で表されたアルゴリズムをコードに落とすのにとにかく不便
MATLAB は MATrix LABoratory なんだよ.線形空間にまつわる計算が本来の対象.
だから,添字は 1 から始まるのが数学的に正しい流儀で,おかしいことではない.
なぜならそれはベクトル空間の次元を数える量でもあるから.昔習ったろ? Ker とか Img とか. あれが数学の定義とずれると困るんだよ.
まあ,そういう意味でそもそも論で言えば,コンピュータサイエンスで使う道具じゃないんだと思うよ.