プログラミングの為の数学と算数 vol.2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG語りましょう。TIPS/Q&Aスレです。
0652デフォルトの名無しさん
2007/01/24(水) 02:21:07でかい配列作って計算結果の一覧表を作ればおk
0653629
2007/01/24(水) 22:15:45>>651 受験数学は駄目ですね。これは基本概念が掴めていない所為だと
思います。志望は阪大・大阪市立の医学部です。
excelですか。一度調べてみます。有難う御座います。
0654デフォルトの名無しさん
2007/01/25(木) 10:38:57>論理性はある方だとは思います。
>数学的思考が出来ていない
矛盾してないか?
0655デフォルトの名無しさん
2007/01/26(金) 03:07:02若干のズレがあるからな。
たとえば、「明日の花見は、雨ならば中止します。」と幹事が言ったとして、
「では晴れたらどうするんですか?」なんて質問をしたら、馬鹿呼ばわりされること必至。
(日常会話の「ならば」は、必要十分条件を意図して使われていることが多い。)
数学(プログラム)的には、この質問は至極自然かつ妥当なものなのだが。
0656デフォルトの名無しさん
2007/01/26(金) 10:25:47基本概念が掴めていなければ,応用もできんわな
そんなヤツに医者になってほしくない・・・
0657デフォルトの名無しさん
2007/01/26(金) 11:03:26でも、その国語と数学のずれを認識できない奴のことを、
はたして論理性があるといえるのか?
0658デフォルトの名無しさん
2007/01/26(金) 22:47:39「数学では論理を正確にするが,日常ではルーズにする」とかな
そうじゃなくて言葉の意味が違うだけ
力学で言う「仕事」が普通に言う「仕事」と違うっていうようなもの
0659629
2007/01/26(金) 23:54:56数学的思考とは、物事を順序立てて考える事であり、具体的な文字を使わず、
抽象的な文字を用いる 思考です。又、余計な言葉は入れず必要な事だけを述べて行く・書き下して
行く様にする思考です。
こう言いました。
この私が呼んでる数学的思考という能力が劣っていても、論理性が高いという事は
ありえます。
先ず、具体的な文字を使わず、抽象的な文字を使う。という事と論理性とは
なんの関係もありません。(まぁ、厳密に調べて言ったら、多少なりとも関係
しているでしょうが)
次に、余計なことを述べず必要な物だけを述べる。と言うのも、関係有りません。
別に不必要な物を付け足しても、論理的な展開はでき、論理力が高いという事はあります。
最後に、物事を順序立てて考える。と言うことですが、これは正直よく反論出来ません。
別に物事を順序だてて考えなくても、論理力が高いと言う事はある。脳みそは複雑でバラバラな
事でも統合的に処理できている。というぐらいしか言えません。
また、頭の良い人から論理性が高い。と言われますし、実際国語の点数も良いです。
なので、私の論理性が高くない、と言う事はあまり考えるべきでないと思います。
0660629
2007/01/27(土) 00:04:12考えているつもりです。
>>657 >>658 何処でどう私の事を、その国語と数学のずれを認識できない奴と、
思ったのですか?
もし、論理性の欠如から来る、ミスなら気をつけて下さい。
話がいらん、何も有益が無い方向に曲がってしまいます。
0661デフォルトの名無しさん
2007/01/27(土) 00:11:080662デフォルトの名無しさん
2007/01/27(土) 01:18:26本人は論理的なつもりなのかも知らんが、誤った前提を元に論理も糞も無いだろうに。
0663629
2007/01/27(土) 02:19:15>>661 演算は出来ます。というか誰も演算できないなんて言ってません。
まぁ、大体このスレでの有益な意見は出たので、これで失礼します。
一部の人が怒りっぽく、荒れてきましたし。
私が言ってないことを言ったかの様に述べたり、確定してない事を確
定してると思い込むのは、恐らく、頭脳から来る頭の悪さでは無く、
人格の欠陥から来る頭の悪さでしょう。
人格の欠陥から来る頭の悪さは大概自己愛の欠落からきています。
自己が自分や他人(特に両親)から肯定されていないんですよ。
一度両親の元へ行って、愛を与えて貰いに行くのがいいと思います。
もしくは、両親との不仲を直し、互いに愛し合う関係になったほうが
良いです。それで、もしかしたら直ると思いますよ。ではノシ
0664デフォルトの名無しさん
2007/01/27(土) 02:30:09論理性があって計算もできる奴が、どうして
>数学出来ません。物理できません。化学の計算できません。
なんてなるのかが不思議でしょうがない。
0665デフォルトの名無しさん
2007/01/27(土) 03:07:16どこも論理的じゃないから、不思議でもなんでもない。
0666デフォルトの名無しさん
2007/01/27(土) 10:23:34「数学的思考=抽象化」ということか
オレは「数学的思考=論理的思考」だと思ってたんだが
そもそも,抽象化は考える前の「単純作業」だと思ってたし
その辺,みんなはどうよ?
>別に物事を順序だてて考えなくても、論理力が高いと言う事はある
これはさすがに違うんじゃねえか?
もう見てないのかな
0667デフォルトの名無しさん
2007/01/27(土) 10:26:52アレな人の典型のようにも思える
0668デフォルトの名無しさん
2007/01/27(土) 13:53:01呼びたいのか?w
俺はもう帰ってきて欲しくないが
0669デフォルトの名無しさん
2007/01/27(土) 15:25:34日本語の勉強を、中学校辺りから遣り直してください。
仮令国語の点数がよくても、このような文章としてなっていないものを書いているようではお郷が知れます。
0670デフォルトの名無しさん
2007/01/27(土) 15:30:12大丈夫、この手の香具師は自意識過剰だから自分の話が出ないか気になって必ずヲチしている。
プライドが充分に低いか高いかしなければ二度と書き込まないでくれるはずなのだが……
0671デフォルトの名無しさん
2007/01/27(土) 17:05:370672デフォルトの名無しさん
2007/01/27(土) 21:17:51物事をシンプルにまとめる力がないと、プログラムでは苦労するだろうな、
と、経験的に思う。
0673629
2007/01/27(土) 21:19:32>>670さんは中々鋭いですね。私はナルシストです。
では本題に、
>>666 実際、多くの受験生が苦手としている科目が数学と物理です。
これは人が抽象的な思考をするのが苦手だからだと思います。
より具体的に説明された方が理解しやすいのは経験からも判ると思います。
ので、抽象化を'単なる'単純作業と捕らえるのは違うと思います。
しかし、出来る人からすると、単なる単純作業なんでしょうね。
>別に物事を順序だてて考えなくても、論理力が高いと言う事はある
これはさすがに違うんじゃねえか?
これについては、一例を出しますと、
ある繋がった1〜10迄の事があるとします。順序だてて考えて行くとは、
1.2.3.4.5.6.7.8.9.10と一から十迄規則的に考えて行く思考法の事です。
一方の私がそうでなくてもいける、と言ったのは、
2.5.1.4.6.3.7.9.10.8.と不規則ながらもこれを頭の中で正確に関連づける思考法が
人には出来るという事です。不規則な順序で進めても、それらを正確に関連づけて
最終的に上手く統合出来る。そしてそれは確固とした論理性であり論理力である。
と言うことが言いたかった訳です。
0674デフォルトの名無しさん
2007/01/27(土) 22:01:54>670によると、プライドが高いか低いかどっちかだそうだけどどっち?
0675デフォルトの名無しさん
2007/01/27(土) 22:05:17これは非常に簡単な理由がある。
こららは所謂理数系と言われる教科なのに、教えている教師は
所謂文系と言う数学物理を苦手とする傾向のある連中が多いからだ。
0676デフォルトの名無しさん
2007/01/27(土) 22:17:17×ナルシスト
○ナルシシスト
0677デフォルトの名無しさん
2007/01/27(土) 22:52:52大学以降は抽象化されたものを扱う機会が増えたが、どちらかというとそういう考え方は苦手だった。
そんな自分でも高校のときは数学や物理には苦労しなかったので、
受験レベルの内容に抽象的な思考はそれほど必要ないと考えている。
>>629には数学や物理ができない原因が本当に抽象的な思考の部分にあるのかを考えてみてほしいな。
あと元々はプログラミングが役に立つかという話だったけど、
プログラミングに手を出したコストに対して得られる対価が小さいかなと思う。
もっと楽にスキルを上げる方法はありそう。
少しでも興味を持ったのなら、受験は抜きにして趣味でやってみるのもいいかもしれない。
嫌だったら辞めればいいだけの話だし。
0678デフォルトの名無しさん
2007/01/27(土) 22:57:28それが終わったら赤に行け
0679661
2007/01/27(土) 23:40:15そうか、すまん。
お前が論理性があるというので、学校の数学から論理性を取り除いて残るものと言ったら計算しか思いつかなかった。
それだけのことだ。
0680デフォルトの名無しさん
2007/01/28(日) 11:10:15→ナルシシズム、ナルシシスト
ナルス
→ナルシズム、ナルシスト
http://ja.wikipedia.org/wiki/%E3%83%8A%E3%83%AB%E3%82%B9
お前同郷かw 頑張れよw
抽象化じゃなくて一般化という用語を使えばもっと楽だろうに。
〜ist の用法を一般化したらナルシシストになりそうなことは想像できるだろう。
ナルシスを知らなければしょうがないが。
0681デフォルトの名無しさん
2007/01/28(日) 14:02:550682デフォルトの名無しさん
2007/01/28(日) 15:52:17○machiavellian
×machiavellist
0683デフォルトの名無しさん
2007/01/28(日) 15:56:560684デフォルトの名無しさん
2007/01/30(火) 05:08:18かなり役に立った。特に微積に関してはかなり深く勉強できたと思う。
でも今はCOBOLのプログラマだ・・・orz
全く数値計算法なんて役に立たねえっす。
0685629
2007/01/31(水) 05:51:03良かったら教えてくださいまし。
0686デフォルトの名無しさん
2007/01/31(水) 10:30:540687デフォルトの名無しさん
2007/01/31(水) 11:03:43ttp://www.netlib.org/lapack/index.html
0688686
2007/01/31(水) 11:13:39LAPACKでググったら、直線のサンプルもすぐ見つかりました。
ttp://www.sip.eee.yamaguchi-u.ac.jp/kou/lapack.html
実際にやりたいのは真円のフィッティングだから、もうちょっと調査しないと。
0689デフォルトの名無しさん
2007/01/31(水) 11:33:59数値解を繰り返しで求めるか
ttp://www.tensyo.com/urame/prog/linealgo.htm
中心からの距離の2乗の誤差の2乗で代用すれば解けるそうだ
0690デフォルトの名無しさん
2007/01/31(水) 11:40:36ニューメリカルレシピ・イン・シー
0691686
2007/01/31(水) 11:42:04やりたいのは4点(真円になるか”?”)から円の中心と半径を決めたいです。
>中心からの距離の2乗の誤差の2乗で代用
ちょっと難?
関係ないけど今回の場合、
ttp://okwave.jp/qa1812202.html
は参考にならないような気がしました。
0692デフォルトの名無しさん
2007/01/31(水) 12:02:124点なら最小2乗を使うほどにはデータ量が多くない。
4点から3点を取り出しては公式で中心を求めて
4つ求まった中心の平均を出したらどうだろ?
その中心から4点への平均距離を求めて、それを半径の代用としたら?
0693デフォルトの名無しさん
2007/01/31(水) 12:09:42>ちょっと難?
これはデータの特性にもよるだろな。 使った感じでは十分だよ。
もっとも画像からのデータでデータ量は十分あったが
何より式一発で求まるのは非常にありがたい
0694691
2007/01/31(水) 12:19:57ごめんなさい、書き方が悪かったです。
そのやり方が悪いという意味じゃなくて、文章難しくて、
その文章どおりにするには何をどうすれば良いのか考えなきゃという意味です。
>>692
その通りやってみたんですが、トンデモない円が出来て(3点だと上手く行く)。。。
どういう算数でやろう?
最小二乗法は?
「中心からの距離の2乗の誤差の2乗で代用」ってどういう意味? ← 今ここ
といった感じです。
0695デフォルトの名無しさん
2007/01/31(水) 12:22:31最小2乗を使ってもとんでもない結果しか出ないよ
これがデータ100点あって1個だけ飛び離れてるような状態ならマシだけどさ
0697デフォルトの名無しさん
2007/01/31(水) 13:38:16もし論文なんかで出したら一笑されるぞ。
少数観測点からデータを復元する話は GPS などの位置計測で
よくある話で、そういう場合にまともな推定をしようとすれば
観測点の状態が分かってることが必要になる。
たとえば、真の値からのずれがある確率分布に従うと仮定を
置けば、最尤推定などによって最もそれっぽい場所が出る。
正規分布に従うと仮定してよい場合は最尤推定は最小自乗法に
一致するため、多くの GPS ではこの仮定を(知ってか知らずか)置いている。
多量のデータで最小自乗法が有効なのは、中心極限定理によって
分布が正規分布に漸近するため。
0698691
2007/01/31(水) 13:40:21>★最小2乗法による円弧推定
ってそのまんまのタイトルがあった。
3点から円を求めるのもこのページから見つけたのに気付かなかったOTL
0699691
2007/01/31(水) 13:43:33>何も考えずにたった4点で最小二乗法をやるのは馬鹿げてる。
>もし論文なんかで出したら一笑されるぞ。
了解、納得でつ。
必ずしも円になるのか分からないデータの解析なので、
逆にデータ解析結果から観測点が円にならないという結論を出しますが。
ある部分は円、ある部分は円にならず従って応力受けてる、みたいな。
0700デフォルトの名無しさん
2007/01/31(水) 13:48:36これはいえない。最小自乗法では円にならなくても、ほかの方法では
円になる場合があるかもしれない。
0701699
2007/01/31(水) 13:57:36じゃあ、ほかの方法教えて。
ところで、
>★最小2乗法による円弧推定
を読んだら、
>この3つの方程式を解けば良い.
で終わってる。
解かないといけないのか。
0702デフォルトの名無しさん
2007/01/31(水) 14:12:46上で述べられていた任意の三点の中心の平均や重心は有力。
また、697 で述べたように、最尤推定はひとつの別の方法。
ほかにも最小自乗や最尤推定を部分に含むが、適当な
ペナルティ関数を設定して最小化問題として解く手もある。
最尤推定やペナルティ法は、円になるかどうか分からないものの
判定なら、おそらく最小自乗を用いるよりも良い結果が得られる。
(最小自乗では、一直線上のデータは半径が(ほぼ)無限大の円と
判断されるが、通常の応用ではそれを弾きたいことが多い)
0703701
2007/01/31(水) 14:33:09これらはライブラリにもなってなさそうだね。
実装難しそう...
0704701
2007/01/31(水) 18:42:23>2a( X*Y/N -XY)+ 2b(Y*Y/N -YY) =Y(YY+XX)/N-YYY-XXY ----2)
>r*r=(XX+YY-2.0(a*X+b*Y) )/N+a*a+b*b; ----3)
>この3つの方程式を解けば良い.
やっぱこれ何度読んでも分からないんだけど、
4点をどうやって代入するわけでしょうか?
解答が目の前にありながら使いこなせないorz
0705デフォルトの名無しさん
2007/02/01(木) 12:41:01X → 肺i XX → 肺i*xi XXX → 肺i*xi*xi
Y → 輩i YY → 輩i*yi YYY → 輩i*yi*yi
以下略
の意じゃね? xi, yi が配列要素で直線上にない3点が最低限必要と。
0706デフォルトの名無しさん
2007/02/05(月) 17:23:56後は、1) 2)式から a,b2変数の連立一次方程式を解けば中心が求まるでしょ?
それを3)に代入すれば半径も求まる
0707デフォルトの名無しさん
2007/02/14(水) 10:09:264点中 3点で求まる円から、 残った1点までの円からの距離2乗(|中心からの距離-半径|)を出して
それを4つ加算した結果、
またはそれを半径で割って正規化したもの
でいいんじゃないのか?
0708デフォルトの名無しさん
2007/02/28(水) 21:55:010709デフォルトの名無しさん
2007/03/25(日) 15:02:16for(i = 0; i < N; i++) {
int x = cx + sin(i * 2 * PI / N) * (W / 2);
int y = cy + cos(i * 2 * PI / N) * (H / 2);
plot(x, y);
}
ところがというか当然というか、これだと W = H の円の時にしか点が等間隔になりません。
どうしたら良いでしょうか?
知っていなくてはいけない公式などありましたら教えてくださいませ。
0710デフォルトの名無しさん
2007/03/25(日) 15:24:580711デフォルトの名無しさん
2007/03/25(日) 15:26:040712デフォルトの名無しさん
2007/03/25(日) 15:44:51それを等間隔に分割というのは、その厄介な問題に挑戦するという事になる
数式では基本的に解けないから、数値積分で頑張るしかないよ
0713デフォルトの名無しさん
2007/03/25(日) 15:46:43int x = cx + W * cos(i * 2 * PI / N);
int y = cy + H * sin(i * 2 * PI / N);
でどうでっしゃろ?
0714713
2007/03/25(日) 15:47:200715デフォルトの名無しさん
2007/03/25(日) 16:06:21それつかって円周を求めた(ここではLとおく)として
始点(仮に中心からx軸方向に幅/2移動した点としよう)から
円周にそってl ( = n×L, nは適当な実数)分移動したときの座標(x,y)ってのは楽に求まるの?
精度気にしないのならこれでいけると思うんだけど、どうでしょうか?
0716デフォルトの名無しさん
2007/03/25(日) 16:20:25Nの個数を30倍くらいに増やし一度テーブルを作成して
補間で、近似値を求めるのが一番簡単だろう
0717デフォルトの名無しさん
2007/03/25(日) 16:40:25そのテーブルの中味と、
何のデータを元にして、
何の式で補間するか書いてください
お願いします(-∧-)
0718709
2007/03/25(日) 16:51:16>>715 円周に沿って l の座標を求める方法がよくわからないです。すみません。
>>716 で言う方法かはわかりませんが、自分ならこうやりますがどうでしょう?
1. 30N の全ての点の座標を求たテーブルを作る
2. 隣り合う点との距離を三平方の定理で求めることを全ての点について行い、円周の近時値を計算する
3. 円周を N等分した長さを求め、これを当初の N個の頂点間の距離 d とする
4. 30N のテーブル中の頂点の中から、それぞれの点の円周上の位置(始点からの距離)に近いものを選んで点を打つ
0719デフォルトの名無しさん
2007/03/25(日) 16:53:40テーブルの中身:
double ax[N*30];
double ay[N*30];
double aL[N*30];
double L=0;
ax[i] = cx + W * cos(i * 2 * PI / N);
ay[i] = cy + H * sin(i * 2 * PI / N);
if( i != 0 ) L+= hypot(cx-ocx , cy-ocy);
aL[i]=L;
ocx=cx;
ocy=cy;
のテーブルを作るでしょ?
Lを周長の代用として、
c= L*i/N で aL[k]<=c && aL[k+1]<c になる k を見つけて比例で分割して
w = ((c-aL[k]) /(aL[k+1]-aL[k]) + k) :2*Pi/N
を角度にするという感じ
0720デフォルトの名無しさん
2007/03/25(日) 17:04:31>円周に沿って l の座標を求める方法
楕円積分の逆関数だから、楕円関数使って求まる気がする。
もちろん、楕円関数の値は数値的に計算するものだけど。
0721719
2007/03/25(日) 17:13:07double aL[N*30];
double L=0;
for( i=0;i<30*N;i++}{
ax = cx + W * cos(i * 2 * PI / N);
ay = cy + H * sin(i * 2 * PI / N);
if( i != 0 ) L+= hypot(ax-oax , ay-oay);
aL[i]=L;
oax=ax;
oay=ay;
}
次のループは
for( i=0;i<N;i++}{
で while(aL[k]>c) k++;
0722719
2007/03/25(日) 17:16:37ax = cx + sin(i * 2 * PI / N) * (W / 2);
ay = cy + cos(i * 2 * PI / N) * (H / 2);
に訂正、
続き、
w = ((c-aL[k]) /(aL[k+1]-aL[k]) + k)*2*PI/N;
int x = cx + sin(w) * (W / 2);
int y = cy + cos(w) * (H / 2);
plot(x, y);
}
0723709
2007/03/25(日) 17:30:02丁寧にどうもありがとうございます。
よくわかりました。
>>720
まずは楕円積分というのを勉強しなくてはいけなそうです。
おいおいスキルアップしたいと思います。
>>710
よろしければそのスレを教えてもらえないでしょうか。
放物線を速さ一定で進むってのも興味あります。
0724デフォルトの名無しさん
2007/03/25(日) 17:44:59ttp://www.tensyo.com/urame/prog/ALGO.HTM
の後ろの方に計算方法が書いてあったけど
コレは今回の問題には応用できないな
0725しょう
2007/03/25(日) 20:12:390726デフォルトの名無しさん
2007/03/25(日) 20:19:03宿題は他をあたりなさい。
0727デフォルトの名無しさん
2007/03/25(日) 20:22:522) b*6=c*5
1' a*3*5=b*5+c*5
a*3*5=b*5+b*6=b*11
b=a*3*5/11
0728デフォルトの名無しさん
2007/03/25(日) 20:23:340729しょう
2007/03/25(日) 20:27:120730デフォルトの名無しさん
2007/03/25(日) 20:28:17せめて何学年まであるか、一学年何クラスかぐらいはわからないと・・・
0731しょう
2007/03/25(日) 20:31:330732デフォルトの名無しさん
2007/03/25(日) 20:34:090733デフォルトの名無しさん
2007/03/25(日) 20:41:40中学生じゃ解けないよ
大学入って掃き出し法を習うまでとっておきなさい
0734デフォルトの名無しさん
2007/03/25(日) 21:04:47>727間違ってる
1)a*2=b+c
だな。
で、2)はb:c=5:6から出した式ですね
あとは連立方程式
0735デフォルトの名無しさん
2007/03/25(日) 21:31:43俺数学選択で早稲田受かったよ
0736デフォルトの名無しさん
2007/03/25(日) 21:38:140737デフォルトの名無しさん
2007/03/25(日) 21:42:19まぁ政経だけどねwショボいけど
0738デフォルトの名無しさん
2007/03/25(日) 22:12:110739デフォルトの名無しさん
2007/03/26(月) 00:05:29これだった
http://pc11.2ch.net/test/read.cgi/gamedev/1170387853/
0740デフォルトの名無しさん
2007/03/26(月) 00:10:22それを言うなら、 a = (a + b + c) * 1/3 だろ。実際のところ、3学年しかないという前提はどこにもないわけだが。
0741デフォルトの名無しさん
2007/03/26(月) 00:26:09楕円の周長計算、
「使えるだけでいい」という姿勢なら
単に数値計算ライブラリからソースコピればいける気が。
0742デフォルトの名無しさん
2007/03/27(火) 01:25:31http://www.youtube.suppa.jp/?uk5LgzILKQU59%+0kBtqQp0RJf30%+8rTFpttjtSU89%+eKWwj9JoAln29%+OSjDO5IUnWJ14%+amKCPh1YrDR14%+KmClRwiAMOy29%+4gIU8IV2hvR14%+CxM26WyV1_d29%+mIBUzAsDgyE132%+@1@_AutomaticPlay
0743デフォルトの名無しさん
2007/03/27(火) 02:01:51★☆YouTubeのCMを連続動画に☆★
//ame.x0.com/main/070327015730.html
http://ame.x0.com/main/070327015730.html
0744デフォルトの名無しさん
2007/03/28(水) 11:26:380745デフォルトの名無しさん
2007/03/28(水) 11:31:260746デフォルトの名無しさん
2007/03/28(水) 11:37:360747デフォルトの名無しさん
2007/03/28(水) 11:43:15>>689のリンク先のページは見た?
0748デフォルトの名無しさん
2007/03/28(水) 13:40:09その離散点使って、数値積分的なことすれば?
Σ(点から直線への距離 × 傾き)
みたいなのを。
0749デフォルトの名無しさん
2007/03/28(水) 19:00:370750デフォルトの名無しさん
2007/03/28(水) 23:08:36>あ、曲線は自由曲線(ドットというか。。。)です。
ドットを数えろ。
0751デフォルトの名無しさん
2007/03/29(木) 08:38:46■ このスレッドは過去ログ倉庫に格納されています