トップページ⇒math
973コメント287KB

〓 Mathematica 四 〓

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001132人目の素数さん2007/12/10(月) 16:00:01
        _....._{{ 〃
      , - ' ,..、、.ヾ{{フ'⌒`ヽ、
    /  ,:', -‐‐` ´ '´⌒ヽ ヾ:、
.   ,'   ,'´ ,ィ ,ィ ,' ,   `ヽ',  ',-<
    ,'   .i  /|. /.| { i,  i,  }.  }_,,))
   ! |  ! .,'-.{ ! !|; |`、.}゙!.! |.  ! ヽ.
   ', ', |Vァ=、゙、 `゙、!-_:ト,リ', l ! |   ゙',
    ヽ、', l:!Kノ}.     f:_.)i゙i: リ ! l ル 
     | l!iヾ- ' ,   .!__:ノ ゙ ,リ l リ'´     
.     ',|!!、    r‐┐   ` ノ'. /,イ    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  
      'i!゙、ヽ、 ゙ー'  _, ィ,:',:''´    <  Mathematica に関する話題はここに書いてね!
      ゙:、ィ、jヾー::: 'iヘ .ノ',リ.        \___________________
   ,、- '´ ヽ、゙、   { `>"、  
  /\\    ',   }   //`ヽ

過去スレ
>>2
0809やんやん ◆yanyan72E. 2010/05/19(水) 18:40:02
計算機に頼るのならば、
ヒントを使うよりも素直に2〜47の相異なる2つの素数の積のうち
100以下のものをリストアップした方がはやい気がする。
一個一個の数字の約数の個数を数えるのは骨が折れる。
0810132人目の素数さん2010/05/19(水) 19:28:31
>>808
FactorIntegerで素因素分解して、2つの素数の積でなりたち、指数が1、のを選べばできると思うけど、
そんな解き方でいいんだろうか?
a=Table[FactorInteger[i], {i, 100}];
b=Cases[a,x_/;Length[x]==2];
c=DeleteCases[b, {___, {_, x_ /; x > 1}, ___}]
0811132人目の素数さん2010/05/19(水) 19:39:18
あ、最後cを元に戻さないといけなかった、、、
0812132人目の素数さん2010/05/23(日) 21:13:32
NDSolveに詳しい人にお聞きしますが、
(2階線形、2変数)偏微分方程式を長方形の境界を持つ領域(0<x<a,0<y<b)で解きたいとき、
境界条件として、向かい合う辺での値を与えて(u(0,y)=f(y),u(a,y)=g(y))解くようなことはできないでしょうか?
0813132人目の素数さん2010/06/02(水) 14:11:05
正整数nに対し、2^nの先頭の数字を与える関数をf5[n]を書け。これを用いて2^n(1≦n≦100)の
戦闘の数字のリストを作れ。またそのうち、1が何個あるか調べよ。

わからないのですみませんが誰か教えてくれませんか?お願いします。
0814132人目の素数さん2010/06/02(水) 19:15:49
ToString,StringTakeでもできるが、頭を使って解くんじゃないのか?
0815132人目の素数さん2010/06/03(木) 18:32:04
>>814
頭を使ってもわからないから質問してるんじゃないのかな?
僕は初心者だからもちろんわからん。
0816132人目の素数さん2010/06/03(木) 23:14:21
>>813
力づくでダサくてもいいなら、

ToStringで数を文字列とし、
StringTakeで文字列の一部をとりだす。
文字列としての数を、数に変換したければ、ToExpressionでできる。

それで所望の関数f5[n]ができたら、1から100までのリストxに
Map[f5,x]とすれば数字リストが得られる。
1が何個あるかは、Countをつかえばよい。

>>815にもだが、
このような力づくの方法ならそれほど難しくはない。
mathematicaの解説本があるからそれを一度読んだ方が良い。
mathematicaのhelpも自分で読むべきだし。
0817132人目の素数さん2010/06/04(金) 02:04:31
mathematicaブックって持ってた方がいい?
0818132人目の素数さん2010/06/04(金) 22:58:05
mathematicaブックってmathematicaのhelp内にはいってない?
0819132人目の素数さん2010/06/04(金) 23:08:59
Mathematicaはバージョンアップが速すぎてテキストが追いついていない。
しかしヘルプが充実しているので、ヘルプを見ればだいたい分かる。
また、デモンストレーション・プロジェクトを眺めていると、自分のやりたいことのヒントが見つかる。
0820132人目の素数さん2010/06/06(日) 03:52:55
持っていると便利だし
本の方が画面より見やすいから
古い版のやつでも3000円位で売っていたら買いだろうね。
0821132人目の素数さん2010/06/08(火) 19:20:09
>>816
で、答えは?本読んでもよくわからん。
0822まんこ2010/06/09(水) 04:37:01
Clear[f];
f5[n_] := StringTake[ToString[2^n], 1];
Count[Table[f5[n], {n, 1, 100}], "1"]
0823まんこ2010/06/09(水) 04:38:04
Clear[f];
f5[n_] := StringTake[ToString[2^n], 1];
Count[Table[f5[n], {n, 1, 100}], "1"]
0824132人目の素数さん2010/06/09(水) 04:39:33
Clear[f]; →Clear[f5]; ね。
0825132人目の素数さん2010/06/09(水) 13:44:23
100ステップの2次元ランダムウオークを作れ。
ただし、東西南北をそれぞれ、{1、0}{ー1、0}{0、ー1}{0、1}で
表すことにする。
(ヒント:りすとdirectotions={{1,0},{-1,0},{0,-1},{0,1}}を作り、1、2、3、4の範囲の
乱数kを発生させ、directotionsのk番目の要素をとるとランダムな方角が得られる)

すいませんが練習だと思って解いてくれませんか?課題が出せないんでお願いしますm(_ _)m
0826132人目の素数さん2010/06/09(水) 18:12:51
ばかたれ
自分でやれ
0827132人目の素数さん2010/06/10(木) 00:11:39
こんな?

directotions = {{1, 0}, {-1, 0}, {0, -1}, {0, 1}};
NestList[# + Part[directotions, IntegerPart[Random[ ] 4 + 1]] &, 0, 100]
0828132人目の素数さん2010/06/10(木) 07:12:36
>>827
RandomChoiceというのもあるよ。
NestList[# + RandomChoice[directotions] &, 0, 100]
0829132人目の素数さん2010/06/10(木) 07:18:14
http://reference.wolfram.com/mathematica/ref/RandomChoice.html
にきれいな答えが出てるね。
08308272010/06/11(金) 23:03:59
>>828
>>829
どうもです。
なるほど、そんな関数もあるんですね。
0831132人目の素数さん2010/06/14(月) 17:32:24
整数nの各位の数字の合計を出力する関数f4[n]を書け。
例えば、f4[1234]=10.

わかる人います?教えてくれませんか?
0832132人目の素数さん2010/06/14(月) 17:52:16
>>831
中学生かよ
自分でやれ
0833132人目の素数さん2010/06/14(月) 18:48:42
ここで質問は許さん!!
0834132人目の素数さん2010/06/14(月) 19:07:26
>>832
別にいいじゃん。教えてやれよ。
わからないならともかく。
0835132人目の素数さん2010/06/14(月) 19:14:49
f4[n_] := Plus @@ (Characters[ToString[n]] // ToExpression)
0836132人目の素数さん2010/06/14(月) 19:22:27
f4[x_] :=Total[IntegerDigits[x]]
0837132人目の素数さん2010/06/14(月) 19:25:19
831==834以外には勉強になるな、、、。
0838132人目の素数さん2010/06/16(水) 00:58:44
835です
8の噂とかを尋ねて、たまたま通りかかったばぃ
>>836
上手いな…おまん若いじゃろ!!そんな関数知らん
かった、ありがとうなぁ
>>831
問題投げかけといて、音沙汰なしかい!
ぼてくりこすぞ〜
0839132人目の素数さん2010/06/16(水) 01:40:08
次のお題 マダー?
0840>>8312010/06/16(水) 13:49:46
ありがと
0841132人目の素数さん2010/06/16(水) 13:53:11
>>839や他のみなさんへの課題
てか教えて

正整数nのケタ数を与える関数f2を書け。たとえば、f2[40172]=5
0842132人目の素数さん2010/06/16(水) 14:57:39
↑
問題間違えました。

0より大きく1より小さい既約分数で分母がn以下のものを
小さい方から並べてできるリストを出力する関数f5[n]を書け。たとえば、

f5[n]={1/4,1/3,1/2,1/3,1/4}

(このような数列をnに対するFarey数列といい、いろいろおもしろい性質が知られている。
たとえば、隣り合う項をa/b,c/dとすると、必ずab-cd=-1となっている。)

すいませんがお願いします。
0843132人目の素数さん2010/06/16(水) 15:01:23
Length[Characters[ToString[n]] // ToExpression]
かね。(未検証)
0844132人目の素数さん2010/06/16(水) 15:02:26
ゴメン>>843は>>841のレスね
0845132人目の素数さん2010/06/16(水) 15:05:24
>>843
f5[4]をしたら1になりました。違うかもしれません。
すいません。
0846>>8452010/06/16(水) 15:11:04
>>843
間違えました。>>843さん、わざわざすいません。
841は解けました。本当にすみません。
0847132人目の素数さん2010/06/16(水) 16:06:23
正整数nの各位の数字を逆転させた数をnの逆転数といい、r(n)と書く。
たとえば、f[1234]=4321

r(n)=n/4となるような最小の正の整数を求めよ。

お願いします。意味わかりません。
0848132人目の素数さん2010/06/16(水) 18:03:57
>>847
死ね
0849132人目の素数さん2010/06/17(木) 01:51:10
>>847
意味わからんぞぃ!
例えばのfはrでええんかぁ
んでn/4はリバースする前のnが4の倍数なんか?
4の倍数を利用しないブルートフォース版じゃが
n = 1;
While[n/4 != FromDigits[Reverse[IntegerDigits[n]]], n++];
Print[n]


0850132人目の素数さん2010/06/17(木) 04:11:15
宿題は自分でやれよ
0851132人目の素数さん2010/06/17(木) 12:39:38
>>849
ありがとうございます!!!!!!
0852132人目の素数さん2010/06/17(木) 15:31:46
こういう課題って、色々示唆に富んでいてホント勉強になるわ。
演習問題の書込み→回答は
このスレッドの価値を上げますね。だれも損しない。
0853132人目の素数さん2010/06/17(木) 18:48:19
あほか
0854132人目の素数さん2010/06/18(金) 02:26:31
解けないなら黙ってろよ
0855132人目の素数さん2010/06/18(金) 17:34:03
くだらなすぎて
0856132人目の素数さん2010/06/18(金) 22:50:19
下らなすぎて解けないってか?w
0857132人目の素数さん2010/06/19(土) 06:33:42
本に載ってる有名なことばかりだろ
知らないバカ
0858132人目の素数さん2010/06/19(土) 16:07:28
お前他人が楽しそうに遊んでいると怒りを覚える人間だろw
刃傷沙汰起こす前に病院行けよ
0859132人目の素数さん2010/06/19(土) 23:44:32
おまんMathematica使いなんか?それともポケットのなかで贋金を鳴らす評論家か?
上の問題はたしかに入門編レベルじゃけん、Mathematica使いには簡単じゃろ!
しかしなぁMathematica使いなら、すて台詞ばかりはいてどうするんかぃ?
そや上のf5[n]について、プログラム板でのマルチ投稿(マルチは気に入らんが…)
があって、そのレスが以下ばぃ!
-----------------------------------------------------
292 :デフォルトの名無しさん:2010/06/16(水) 15:22:37
>>291

あまり美しくないが。

f5[n_] := DeleteDuplicates[Sort[Flatten[Table[Table[Which[0 <= a/b <= 1, a/b, True, {}], {a, 0, n}], {b, 1, n}]]]]
-----------------------------------------------------
これでもええんじゃけど、思考的にうかぶのは上の形を関数3個で表わした形じゃろ?
おぅ!>>857!!
こんなん入門書0章じゃけんど応用がきかんとだめばぃ!
みんなにわかりやすぅ〜く説明したってくれんかぁ!!

いっとくけんど、くだらんとか簡単すぎて書けんとかなしじゃど!!

おりさまか?おりはココの住人でもないし、Mathematica使いでもないばぃ!
0860132人目の素数さん2010/06/20(日) 17:47:38
ヒマだから誰か簡単めの学校の課題貼り付けてよ
本屋に行っても「例題で解く〜」くらいしかいい本がないんだよね〜
0861132人目の素数さん2010/06/20(日) 18:04:17
くだらん
0862132人目の素数さん2010/06/21(月) 23:55:01
>861
つまらんなぁ…まぁがんがれやぁ
つか、おりもあきたけん
0863Fラン受験者2010/06/22(火) 02:53:21
>>847
>>849

ANS=879^n12 n=0....infinity

8712 87912 879912 8799912 .......
0864132人目の素数さん2010/06/23(水) 01:42:18
おぅ!>>863!!
>>849
と問われたけん、仁義のれすばぃ!
>ANS=879^n12 n=0....infinity
が一般論なんか?んなら突然の879
を説明せんかい!!

つか、ぶぅぶぅ〜

0865Fラン受験者2010/06/23(水) 02:06:13
あっ 訂正します。
879^(0)12 は 8712と読んでください。 n=1..infinity です。
8712
87912
879912
8799912
87999912
87999912
879999912
.......

証明もお願いします。
0866132人目の素数さん2010/06/23(水) 02:36:17
ほう!なるほろ…おもろい
>証明もお願いします。
おりか?むっつりスケベの
>861
にまかす!!
こういう板はむずい…
0867132人目の素数さん2010/06/23(水) 13:58:29
正の整数リストから元の順序を変えずに重複するものを取り除く関数を書け。
{3,1,1,5,2,1,2}み適応し、{3,1,5,2}になることを確かめよ。
(Unionを使うと{1,2,3,5}になるので注意)

なんか方法ある?
0868132人目の素数さん2010/06/24(木) 02:15:46
unionのヘルプ見たらそのまんまの答え発見しちゃったよ。。
0869132人目の素数さん2010/06/24(木) 12:20:43
ここ宿題スレじゃねえよ
0870132人目の素数さん2010/06/24(木) 17:51:55
またケチだけの糞虫が来たな。
文句しか付けられないのかお前は。
能力か人望のどちらか位は備えていないと人生キツいだろう。
0871132人目の素数さん2010/06/24(木) 18:52:06
868ありがとうございます。
0872132人目の素数さん2010/06/24(木) 19:38:08
タクシーの番号を見てラマヌジャンが
「その数は2通りの仕方で2つの正の立方数(立方数とはn^3)の和で表される
自然数のうち最小のものです」さてその数は何か?まずf[n]を作ること。

答えはたしか91になればいいと思います。
僕にとってムズイので教えてください。
0873132人目の素数さん2010/06/24(木) 19:39:49
追記
91 = 6^3 + (-5)^3 = 4^3 + 3^3
0874132人目の素数さん2010/06/24(木) 19:42:04
訂正
「まずf[n]を作ること。」は消して。いらんこと書いた。
0875132人目の素数さん2010/06/25(金) 01:09:57
>タクシーの番号を見て…
>答えはたしか91…

おぅ!おまんラマヌジャンしっとるんか〜
つか、タクシーの番号が二桁ってなんかい!
逸話も間違っとるし、-5は自然数じゃなか!
0876132人目の素数さん2010/06/25(金) 01:23:45
問題にはそう書いてあります。

タクシーの番号を見てラマヌジャンが
「その数は2通りの仕方で2つの正の立方数(立方数とはn^3)の和で表される
自然数のうち最小のものです」さてその数は何か?
とね。

正の立方数で考えてくれませんか?
0877132人目の素数さん2010/06/25(金) 01:24:44
91じゃないかもしれません。すいません。
0878132人目の素数さん2010/06/25(金) 02:32:05
逸話は、
1729 = 12^3 + 1^3 = 10^3 + 9^3
んで、あとはかんがえれ
0879132人目の素数さん2010/06/25(金) 13:16:44
わかりません(>_<)
0880132人目の素数さん2010/06/25(金) 14:41:09
教えて〜
0881132人目の素数さん2010/06/25(金) 16:14:12
↑このアホに教えてやれよ。まぁ俺様もアホだが(笑)
0882132人目の素数さん2010/06/25(金) 20:38:50
例えば,
c:\work\TEST.nbで保存したファイルを開いたときに,
c:\workを取得する簡単な方法がないでしょうか?

Export[]を使うときにフルパスを一々指定しないで済ませたいのですが…
0883132人目の素数さん2010/06/26(土) 01:08:25
相対パスを指定したら?
..\
0884132人目の素数さん2010/06/26(土) 04:16:20

タクシーの番号を見てラマヌジャンが
「その数は2通りの仕方で2つの正の立方数(立方数とはn^3)の和で表される
自然数のうち最小のものです」さてその数は何か?
0885132人目の素数さん2010/06/26(土) 07:59:39
くだらん

ラマヌジャンはもっと高いところにいた
そんなエピソードは忘れろ
0886132人目の素数さん2010/06/26(土) 08:37:59
はいはい、かまってちゃん。
0887132人目の素数さん2010/06/26(土) 13:18:17
ラマヌジャンの問題早く教えてください
0888132人目の素数さん2010/06/26(土) 16:09:24
>>882
NotebookDirectory[]
は?
08898822010/06/26(土) 20:23:05
>>883
>>888
レスありがとうございます.

申し訳ありません.
Mathematicaのバージョンを書き忘れてました.


NotebookDirectory[]はまさに欲していた機能でしたが,
ver6以上でした.

私が使っているのはver5.1なのでまだ実装されていなかったようです.
とりあえずこのまま使い続けることにします.

0890132人目の素数さん2010/06/26(土) 22:10:02
ラマヌジャンの問題早く教えてください
0891132人目の素数さん2010/06/28(月) 02:39:06
↑このアホに教えてやれよ。まぁ俺様もアホだが(笑)
08928822010/06/28(月) 11:07:23
NotebookDirectory[]で検索したところ,
ver6以前でも使える方法がいくらか紹介されていました.

ttp://www.mofeel.net/1164-comp-soft-sys-math-mathematica/5574.aspx
ttp://blog.hulinks.co.jp/2010/02/mathematica-gis-2.html

これによると,例えば

SetDirectory["FileName" /. NotebookInformation[EvaluationNotebook[]] // First // ToFileName];
list = Table[{x, Sin[x]}, {x, 0, Pi, 0.1}];
Export["sine.txt", list, "Table"]

で sine.txt を現行ノートブックと同じフォルダに生成することができました.

因みにversionは

Version Number: 5.1.1.0
Platform: Windows

です.ありがとうございました.

0893132人目の素数さん2010/06/29(火) 00:32:10
君が解答案を提示できたら添削してやる。
0894132人目の素数さん2010/06/29(火) 01:36:33
いちおう、コメントだけ。。。
t=p^3+q^3=r^3+s^3
なら、p^3+q^3-(r^3+s^3)=0
を満たす四組が必要条件じゃろ!

んでブルートフォース ばぃ!!
つか、この手の問題ってそんなに
綺麗に解ける問題なんか?
0895132人目の素数さん2010/06/29(火) 16:11:05
つか、
Select[PowersRepresentations[#, 2, 3] & /@ Range[20000],
Length[#] == 2 &]
{{{1, 12}, {9, 10}}, {{2, 16}, {9, 15}}, {{2, 24}, {18, 20}}}

Map[Total, r^3, {2}]
{{1729, 1729}, {4104, 4104}, {13832, 13832}}
で、
1^3+12^3=9^3+10^3=1729
なんか?
0896132人目の素数さん2010/06/30(水) 12:57:52
6より大きな偶数nは二つの素数p,qの和で書けると予想できている。(ゴールドバッハ予想)
6より大きな偶数nに対し、n=p+q(p<=q)となるような素数の{p,q}を
与える関数goldbach[n]を書け。
goldbach[1000]を実行せよ。

goldbach[n_] := Table[{i, n - i}, {i, 3, n/2}]
までやったんだけど、goldbach[10]をやると、
{{3, 7}, {4, 6}, {5, 5}}になるんだ。どうすりゃ{4,6}消える?
PrimeQはどこで入れるの?最初から違う?
0897132人目の素数さん2010/06/30(水) 13:36:04
ex.

goldbach[n_] :=
Select[Table[{i, n - i}, {i, 3, n/2}], (PrimeQ[#] == {True, True}) &]
08988962010/06/30(水) 13:46:29
↑
すごいね。
ありがとう。マジで感謝!!
08998962010/06/30(水) 14:51:17
正整数nが対称数とは、nの逆転数とnが等しいものである。
例えば12321は対称数である。
正整数nに対し、それが対称数ならnを出力し、
そうでなければ、nとその逆転数を加え、それが対称数かどうか調べる。
この操作を対称数が得られるまで繰り返し、
得られた対称数を出力するような関数f[n]を書け。
たとえば、
78→78+87=165→165+561=726→726+627=1353→1353+3531=4884
なのでf[78]=4884である。

わかんないです。助けてください。
0900132人目の素数さん2010/06/30(水) 15:02:57
ex.

f[n_] := Module[{r = FromDigits[Reverse[IntegerDigits[n]]]},
If[r == n, Print[n], f[n + r]]]
09018962010/06/30(水) 15:21:05
すいません。本当にありがとうございます。
09028962010/06/30(水) 16:26:10
De Polignacは「5以上の任意の奇数は(2^m)+p(m>=1,pは素数)と書ける」と予想した。
この予想が正しいか、実験して確かめよ。

ごめんなさい。お願いします。
0903132人目の素数さん2010/06/30(水) 17:30:01
n = 5;
While[Apply[Or, PrimeQ[n - 2^Range[Floor[Log[2, n]]]]] == True,
n += 2];
Print[n]
127

なめとんのかぁ?ぜんぜんだめじゃん!
0904132人目の素数さん2010/06/30(水) 17:54:07
問題がわかりにくかったかもしれません。もう1度書きます。

De Polignacは「5以上の任意の奇数は(2^m)+p
(m>=1,pは素数)と書ける」と予想した。
この予想が正しいか、実験して確かめよ。
0905132人目の素数さん2010/06/30(水) 18:08:51
>>904
だからn=127で既に予想が崩れてるって...

予想がただしけりゃ、
n - 2^Range[Floor[Log[2, n]]] /. n -> 127
のリストには素数が少なくとも一つはあるはず
じゃろ?しかしこれがFalseでWhileが終了...
0906132人目の素数さん2010/06/30(水) 18:46:37
そっかー、ありがとう
0907132人目の素数さん2010/06/30(水) 21:50:01
n人のクラスの中に誕生日が同じ人が1組以上いる確率を求める
プログラムbirthday[n]を書け。
birthday[50]を1000回試行して平均確率を求めよ。

確率苦手です。
0908132人目の素数さん2010/06/30(水) 23:03:50
漸近値:1-(365P50)/365^50=0.97

birthday[n_] :=
Table[Random[Integer, {1, 365}], {n}] // (Length[Union[#]] != Length[#]) &

Table[birthday[50], {1000}] // (Count[#, True]/Length[#] &) // N
レス数が900を超えています。1000を超えると表示できなくなるよ。