1 名前:132人目の素数さん mailto:sage [04/03/06 09:51] _....._{{ 〃 , - ' ,..、、.ヾ{{フ'⌒`ヽ、 / ,:', -‐‐` ´ '´⌒ヽ ヾ:、 . ,' ,'´ ,ィ ,ィ ,' , `ヽ', ',-< ,' .i /|. /.| { i, i, }. }_,,)) ! | ! .,'-.{ ! !|; |`、.}゙!.! |. ! ヽ. ', ', |Vァ=、゙、 `゙、!-_:ト,リ', l ! | ゙', ヽ、', l:!Kノ}. f:_.)i゙i: リ ! l ル | l!iヾ- ' , .!__:ノ ゙ ,リ l リ'´ . ',|!!、 r‐┐ ` ノ'. /,イ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 'i!゙、ヽ、 ゙ー' _, ィ,:',:''´ < Mathematica に関する話題はここに書いてね! ゙:、ィ、jヾー::: 'iヘ .ノ',リ. \___________________ ,、- '´ ヽ、゙、 { `>"、 /\\ ', } //`ヽ ★前スレ 〓Mathematica〓 science2.2ch.net/test/read.cgi/math/985023298/
449 名前:132人目の素数さん mailto:sage [04/10/07 04:21:53] どうも「評価」というのがわからない。 Table[If[PrimeQ[i], i, ""], {i, 2, 100}] を実行すると、 {2, 3, , 5, , 7, , , } が返るが、 list = {2}; Do[ If[PrimeQ[i], Append[list, i]], {i, 3, 100}]; list とやっても {2} となるだけ。 なんでなのでしょうか。
450 名前:132人目の素数さん mailto:sage [04/10/07 12:53:46] >>448 CoordinatesFromCartesian[{{4, -1, -2}}, Spherical] でなくて CoordinatesFromCartesian[{4, -1, 2}, Spherical] {1, でないといけない。Solveが複数答えを返すこともあるので ans = Solve[{x^2 + y + z == 1, x^2 - y + z == 3, x^2 + y - z == 5}, {x, y, z}] Map[CoordinatesFromCartesian[{x, y, z} /. #, Spherical] {1, HoldForm[Degree]/(Pi / 180), HoldForm[Degree]/(Pi / 180)} &, ans] など。 >>449 list = {2} Append[list, 3] list と入力すると何がおこるでしょう?
451 名前:132人目の素数さん mailto:sage [04/10/07 14:08:09] >>450 あうう… 「評価」じゃなかったのですね。 思いこみであちこちにEvaluateつけて考えあぐねておりました Thanks a lot!
452 名前:132人目の素数さん mailto:sage [04/10/10 21:32:56] 見当違いのことをしているのかもしれませんが、教えてください。 Mathematicaでの数値計算の精度は機械精度以上には上げることが出来ないでしょうか。 $MachinePrecision Out[1]=15.9546 a1=SetPrecision[Sqrt[2-0.1],100]; NumberForm[a1,DigitBlock->10,NumberSeparator-> " " ] NumberForm= 1.3784048752 0902210683 0047960102 0924746990 2038574218 7500000000 \ 0000000000 0000000000 0000000000 000000000 a2=Sqrt[SetPrecision[2.-0.1,100]]; NumberForm[a2,DigitBlock->10,NumberSeparator-> " " ] //NumberForm= 1.3784048752 0902214457 7973787659 2686126529 8801258806 7606899563 \ 5042810459 9163905598 4762095066 7510687484 a1とa2を比較すると、機械精度が保証する桁以下で両者が異なっています。 どちらが正なのでしょうか。SetPrecisionの使い方がまずいのでしょうか。
453 名前:132人目の素数さん mailto:sage [04/10/10 22:39:04] >>452 Sqrt[2 - 0.1]の結果の数値を精度100桁にするというのと、 (2. - 0.1)の結果の数値を精度100桁としてからSqrtをとるのとは 全く別のことですが。 もちろんどちらもN[Sqrt[2 - 1/10], 100]とは異なりますね。
454 名前:132人目の素数さん mailto:sage [04/10/16 06:43:32] 709
455 名前:132人目の素数さん [04/10/16 12:12:51] 455
456 名前:132人目の素数さん mailto:sage [04/10/16 21:27:04] >>452 ひょっとして 0.1と1/10が同じと思っていませんか?
457 名前:132人目の素数さん mailto:sage [04/10/17 17:04:18] >>456 一緒と考えておりました... これで納得できました。ありがとうございました。
458 名前:132人目の素数さん mailto:sage [04/10/19 02:55:15] マスマティカはお腹が一杯になりまつか?
459 名前:132人目の素数さん mailto:sage [04/10/22 14:47:57] ある分布に従う乱数を発生させて標本平均値を求めたいのですが、 発生させた乱数のリストから任意の数をランダム抽出するにはどうしたらいいでしょうか?
460 名前:132人目の素数さん mailto:sage [04/10/22 18:01:07] >>459 乱数から「ランダム抽出」って意味が無いだろ。 Table[YourRandomFunction[], {i, 10}] とでもすればいいんじゃないか?
461 名前:Not, used with Select [04/10/25 01:34:56] Select の条件部分に Not を入れてはいけないのでしょうか.うまく行かない理由が分かりません. たとえば Select[Range[10], PrimeQ] Select[Range[10], ! PrimeQ] にたいしてはアウトプットが{2,3,5,7}と{}となり, 2つ目が意図したものになりません. Select[{b, a, d, c, e}, (# == a) &] Select[{b, a, d, c, e}, (! (# == a)) &] にはアウトプットが{a}と{}となり, これも Not (!) を使った2つ目が意図とはちがいます. ちなみに Select[Range[10], (# == 4) &] Select[Range[10], (! (# == 4)) &] だと意図した通りに {4}と{1,2,3,5,6,7,8,9,10}となります.どうして? ちなみに問題回避法としては !MemberQ というのを使いました.もっとマシな方法あれば知りたし.
462 名前:132人目の素数さん mailto:sage [04/10/25 01:57:45] >>461 ! PrimeQはNot[PrimeQ]ですね。 Not[PrimeQ][x]とNot[PrimeQ[x]]は違いますね。 Not[PrimeQ[#]]& か Composition[Not, PrimeQ]を使ってください。 !MemberQなんてものをいったいどう使ったのか興味津津です。
463 名前:Not, used with Select (unresolved) [04/10/26 23:51:59] >>462 >!PrimeQはNot[PrimeQ]ですね。 0-1逆の特性関数を作るわけではないようですね. 普通の関数が否定できないのは分かるが,述語関数は否定できてもまずくなさそうに思えますが. >Not[PrimeQ][x]とNot[PrimeQ[x]]は違いますね。 前者は意味をなさないということなんですかね. [ところで同じ意味をなさない物でも, ! PrimeQ[3]だと何も出ないが(! PrimeQ[3])だと False と出るのは, 前者は括弧の位置が曖昧だが,後者は(! PrimeQ)[3]ではないと見なされる ということなのだろうか.一番外側に括弧がつくだけで差が出るのは妙だが.] >Not[PrimeQ[#]]&かComposition[Not,PrimeQ]を使ってください。 ありがとうございました.続く.
464 名前:Not, used with Select (unresolved) [04/10/26 23:52:33] ところが本来の目標の方なんですが, Select[{b, a, d, c, e}, ! (# == a) &] Select[{b, a, d, c, e}, Not[# == a] &] ではどうしても {} となります.分からない〜!!! 等しくなる可能性があるから a=b, a=c などは False と言えないということでしょうか. 値はどうであれ(というか値は取らない), 「シンボルとして a とは異なるものを取り出す」 ことを表現できればいいのですが. どこかに{a,b,c,d,e}は(異なる要素からなる)集合だといっておけばいいのだろうか. そんなコマンドあるのかな. >!MemberQなんてものをいったいどう使ったのか興味津津です。 Select[{b, a, d, c, e}, ! MemberQ[{c}, #] &]でも Select[{b, a, d, c, e}, Not[MemberQ[{c}, #]] &]でも {b, a, d, e}を出しました.
465 名前:132人目の素数さん mailto:sage [04/10/27 00:11:51] >>463 > ! PrimeQ[3]だと何も出ないが(! PrimeQ[3])だと False と出るのは, !が「行の先頭」に来た時はshellでのコマンド実行を意味する。 > 等しくなる可能性があるから a=b, a=c などは False と言えないということでしょうか. そのとおり。===を使えばいい。 > Select[{b, a, d, c, e}, ! MemberQ[{c}, #] &]でも それはあたりまえだね。 偶然、Not[MemberQ[ ]]& という形で使っていたわけだ。
466 名前:sage [04/10/27 12:04:06] From Not, used with Select (unresolved) >>465 行けそうです.ありがとうございました. ===は初耳でした(Mathematica 使い始めてまだ2週間くらいなもので)ので, その周辺のコマンドを勉強しておきます.
467 名前:132人目の素数さん [04/11/02 00:22:41] 323
468 名前:132人目の素数さん [04/11/04 10:06:12] z=-x^2+y+1 |x|,|y|<=3 において z>=0 の部分の地形を等高線で表せ。 という課題が出まして、 ContourPlot[-x^2 + y + 1, {x, -3, 3}, {y, -3, 3}, Contours -> 10, PlotRange -> {0, 4} といった具合にやらせてみたんですが、これだと真っ黒で見た目が非常に悪いんです。 色を使って高さを表すにはどうしたらよろしいでしょうか? どなたかアドバイスお願いします。
469 名前:132人目の素数さん mailto:sage [04/11/04 19:48:54] > 468 color[i_] := Which[Mod[i, 1] < 0.25, CMYKColor[0, 1 - 4 Mod[i, 1], 1, 0], Mod[i, 1] < 0.5, CMYKColor[4 (Mod[i, 1] - 0.25), 0, 1, 0], Mod[i, 1] < 0.75, CMYKColor[1, 4 (Mod[i, 1] - 0.5), 1 - 4 (Mod[i, 1] - 0.5), 0], Mod[i, 1] ≥ 0.75, CMYKColor[1, 1, 0, 4 (Mod[i, 1] - 0.75)]] ContourPlot[-x^2 + y + 1, {x, -3, 3}, {y, -3, 3}, Contours ->10, ColorFunction -> (color[1 - 0.66*(#1 + 0.5)]&), PlotRange -> {0, 4}] で、どう?
470 名前:132人目の素数さん [04/11/04 20:10:57] し っ か し 、 ほ ん と に キ タ ネ ー 言 語 だ な こ り ゃ w
471 名前:ChaosicSoul ◆/yaJbLAHGw [04/11/04 20:27:15] Mathematicaの関数名は、ごく一部を除いて省略が無い。 どうにかならぬか?
472 名前:パンチョ伊藤 [04/11/04 20:37:50] お前久しぶりやな >>471 > Mathematicaの関数名は、ごく一部を除いて省略が無い。 > どうにかならぬか? マジレスしとくか。 InputAliases オプションとかで短くしとけ。 escape にキーバインドされてるコマンドを \ とかに新規でキーバインド登録しとくと 入力が早くなる。 もし、本気で楽にテクニカルコンピューティングをしたいのなら matlab に乗りかえることもよかろうな。 あれはいい。仕事が mathematica の(1/5) t で終わるからな。 mathematicaではマジでプログラムする気にならん。 故に自分の関数も増えていかん;だから効率も悪い。お前もわかるだろ?
473 名前:132人目の素数さん [04/11/04 21:55:01] どこまでもウザイ奴だな>King
474 名前:132人目の素数さん [04/11/04 22:18:14] お前もウザイな>>473
475 名前:132人目の素数さん [04/11/04 22:33:55] NIntegrate[{NIntegrate[f[x], {x,0,∞}]}g(x),(x,0,∞)] (f(x)をxで積分したものにg(x)をかけて、さらにそれをxで積分したもの) こういった二重積分はmathematicaでは出来ないのでしょうか? 狙った値がでなくて非常に困っております・・ アドバイスよろしくお願いします。
476 名前:132人目の素数さん mailto:sage [04/11/04 22:35:35] >>468 >>469 のほうがきれいではあるが、簡単なものも。 ContourPlot[-x^2 + y + 1, {x, -3, 3}, {y, -3, 3}, Contours -> 10, PlotRange -> {0, 4}, ColorFunction -> (Hue[(0.1 + #)/1.1] &)] >>471 補間のキーボードショートカットを使え。 おまえ前も同じこと書いてただろ。学習しないやつだな… 今は使ってないとか言って逃げたんだったか。 荒しはMathematicaが使えなくてトラウマになってるのかね。
477 名前:132人目の素数さん mailto:sage [04/11/04 22:39:47] >>475 > (f(x)をxで積分したものにg(x)をかけて、さらにそれをxで積分したもの) それ二重積分じゃなくて、別々に積分してただ掛ければいいでしょ。 > こういった > 狙った値 何が聞きたいのかわからない。質問は具体的に。
478 名前:475 mailto:sage [04/11/05 00:49:26] orz 問題設定は、>>475 の数値積分を行うと確率0.95という値が出てくるというものです。 そこで実際に計算を行ったところ目的の0.95が出てこなくてなにかおかしいのかと思いました・・
479 名前:132人目の素数さん [04/11/05 09:30:32] >>469 さん >>476 さん 468です。ありがとうございました。 実は,この問題さらに続きがありまして。 z=-x^2+y+1 とする。 (1)|x|,|y|<=3 において z>=0 の部分の地形を等高線で表せ。 (2)地図上に二点 A(-1,0) B(2,3) を最短距離で結ぶ道がある。 この道を実際にたどるときの道のりはどれだけか。 また,この道の最高地点の高さ(海抜)を示せ。 (3)地点 (1/2,2/3) における接平面が,x軸,y軸,z軸と形成する三角錐の体積 はいくらか。 といった問題なのですが。 正直取っ掛かりすら見つけられないほど難儀しております。 どなたかアドバイスお願いします。 教えて君ですみません。
480 名前:マンコ [04/11/05 09:40:04] つか誰だよおまえ。コテハンも付けれんで調子にのんなよ
481 名前:マンコ [04/11/05 09:41:21] 「エッ、俺?」って思った 479。 心配すんな。>>480 はおまえに向けたわけじゃない >>476 だよ。
482 名前:132人目の素数さん [04/11/05 12:03:23] Mathematica で括弧 { の縦長を作りたいのですが、 どうしたらよいでしょうか? 条件分けした関数定義を表記したいのです。 (計算したいのではなくて、きれいに表記したい)
483 名前:132人目の素数さん mailto:sage [04/11/05 12:30:00] >>478 0.95って…fもgも知らせずにそんなことだけ書かれてもね。 ちなみに、Mathematicaの式として(積分したいのなら)>>475 は間違っている。 質問の仕方も情報小出しの典型で、なってない。 それから推測して、君はMathematicaのみならずコンピュータにも慣れてないだろう。 f[x]やg[x]が正しく書けてないことも大いにありうるし、もっと予想外のことで つまづいているのかもしれない。 何をやったのか全部書かないとエスパー以外にはどうしようもないよ。 >>479 それMathematicaで解くの?数学の問題なら別のスレに。 >>480-481 らしいカキコだね。 >>482 StyleBox[RowBox[{"{", GridBox[{{X}, {Y}, {Z}}]}], SpanMaxSize -> Infinity] // DisplayForm "{"が色つきで表示されるのはなにかのお節介なんだろう。
484 名前:482 mailto:sage [04/11/05 12:36:04] >>483 ありがとう。 これって、ノートブックから対話的に入力することはできないんでしょうかね。
485 名前:マンコ [04/11/05 12:50:03] >>バカ 484 m a t h . b a t 使 え よ >>483 だろ? matlab も使用できずに調子にのらないほうがいいぞ。 パンツマン
486 名前:132人目の素数さん mailto:sage [04/11/05 13:17:59] >>484 OutputだけならFormatか何かでいけるだろうけど、 ノートブックに入力の時点ではカーネルまで情報が伝わってないから、 まずなんらかノートブックを適切に設定しないといけないだろうね。 がんばってくれ。 # 表示用途にはTeXのほうがいいと思う。
487 名前:132人目の素数さん [04/11/06 05:31:27] >>483 479 パソコンでとけという指示なのです。
488 名前:質問! [04/11/06 16:54:26] Mathematica でプログラミングする場合、 末尾再帰の最適化は自動的に行ってくれるんでしょうか?
489 名前:132人目の素数さん mailto:sage [04/11/06 19:31:38] >>488 してくれない。ただRelaseHoldで計算を続けられる。 定義の時にHold関係で評価順序をいじってなんとかすることもできる。 (* Good *) f[x_, s_] := If[x == 0, s, f[x - 1, s + x]] f[1000, 0] (* Good *) id[x_] := x; SetAttributes[id, HoldAll] g[x_, s_] := id[If[x == 0, s, g[x - 1, s + x]]] g[1000, 0] (* Bad *) ClearAttributes[id, HoldAll] g[1000, 0]
490 名前:488 mailto:sage [04/11/06 20:02:44] >>489 回答ありがとう!属性について調べてみるよ。
491 名前:132人目の素数さん mailto:sage [04/11/06 20:06:32] >>487 (2)は、二点間の道のうち(実際にあるくときの)距離が最小のもの(の距離)を 求めよということか? だとしたら、[-1, 2]を{x1, x2, ..., xn}に分割して、yを点{x1,.. ,xn}上の 値できまる折れ線関数で近似する。x1, x2, ..., xnの関数として距離 が定まるのであとはFindMinimuを用いる。 (3)は簡単な手計算。
492 名前:132人目の素数さん [04/11/07 14:51:03] >>491 すいません、もうちょっと詳しくお願いします。 分割って何ですか?
493 名前:Emacs part13 スレの 1 ◆y1O6Cqv4XU [04/11/07 15:16:53] >>492 > >>491 > すいません、もうちょっと詳しくお願いします。 やだ
494 名前:132人目の素数さん mailto:sage [04/11/07 16:47:47] >>492 [-1, 2]上にx1, ..., xnのn個の点をx1 < x2 < ... < xnとなるようにとること。 >>491 ではx1,..,xnの関数と書いたが、正しくはy1, ..., ynの関数だった。 分割を固定して、その上のyの値y1, ... ,ynがどうであれば、 パラメータをxとする道(x, y(x), z(x, y(x)))の距離が最小になるかを探る。
495 名前:132人目の素数さん [04/11/08 04:38:19] g(x)=f'(x) というような関数はどうやって定義すればいいのですか? g[x_];=D[f[x],x] g[0] とすると General::"ivar": "0は有効な変数ではありません." といわれてしまいます。
496 名前:132人目の素数さん mailto:sage [04/11/08 18:57:08] >>495 g[x_] := Derivative[1][f][x] もしくは、 h[x_] := D[f[z],z] /. z -> x
497 名前:132人目の素数さん mailto:sage [04/11/08 21:52:38] このソフト使うのにプログラミング言語の知識が必要?
498 名前:ChaosicSoul ◆/yaJbLAHGw [04/11/08 22:43:05] Re:>497 functionが分かれば大丈夫。
499 名前:ChaosicSoul ◆/yaJbLAHGw [04/11/08 22:44:09] Re:>497 ごく基本的なことだが、入力した関数の評価を得るには、Shift+Enterだ。これだけは忘れないように。
500 名前:132人目の素数さん mailto:sage [04/11/08 22:52:05] >>497 このソフトが使えるようになれば、 Mathematicaというプログラミング言語の知識を得たことになる。
501 名前:ChaosicSoul ◆/yaJbLAHGw [04/11/08 22:58:13] Re:>500 Mathematica って、プログラミング言語だったのか。それは知らなかった。
502 名前:132人目の素数さん [04/11/09 22:33:26] どうしても以下の積分が計算できません・・。 Integrate[ Exp[-x^2] Erf[x + a], x] なにか工夫すればmathematicaで出来るのでしょうか? ご教授お願いいたします。
503 名前:132人目の素数さん [04/11/10 16:38:56] 物理でよく使うステップ関数Θ マセマティカでは、何を使えばいいの? N[Positive[x]]???
504 名前:132人目の素数さん [04/11/10 16:42:12] 関数をいれこにしたいとき どうすればいいの? たとえば F[x_] := x^2 G[F_] := Cos[F] ってかくべきなのか?G[F_] := Cos[F[x]]ってやる べきなのか迷ってま。
505 名前:132人目の素数さん [04/11/10 16:46:00] パレットを使って定積分を入力してしまったが、 本当は数値定積分しか興味ないとき、 どうやって修整すればいいの? やっぱり、NIntegrate・・・・って全部手打ちしなおし?
506 名前:132人目の素数さん [04/11/10 16:59:42] >>505 パレットを使って定積分を入力したものを実行、 そのあとN[%]でいいんでない?
507 名前:132人目の素数さん mailto:sage [04/11/10 17:05:08] >>503 UnitStep >>504 > 関数をいれこにしたいとき どうすればいいの? もとからある関数に従う。 G[x_] := Cos[x] なら H[x_] := G[F[x]] G[f_][x_] := Cos[f[x]] なら H[x_] := G[F][x]
508 名前:132人目の素数さん mailto:sage [04/11/10 17:08:13] >>505 打ちなおしがベスト。記号的に積分しようとして無駄に時間がかかるからね。 お薦めはしないが、上の方に Unprotect[Integrate] Integrate = NIntegrate と書いてNIntegrateに置き換えることもできる。
509 名前:132人目の素数さん [04/11/10 18:45:47] >>506->>508 thanks a lot.
510 名前:510 [04/11/13 01:03:21] 二つほど質問します アドバイスお願いします a={ {c,d} + {e,f} } b={ {g,h} - {i,j} } このようにa,bの式を定義し、実行すると a={ {c+e,d+f} } b={ {g-i,h-j} } とリストの計算を行ってしまいます。 この計算を行わずにそのまま進める方法はないのでしょうか? 例えば c,d,e,f,g,h,i,jにそれぞれ1,2,3,4,5,6,7,8を代入しても表示結果が a={ {1,2} + {3,4} } b={ {5,6} - {7,8} } となるようにしたいのです。 また、さらにこの性質を利用することにより ある関数fを定義したときに f[a,b] = f[{c,d},{g,h}] - f[{c,d},{i,j}] + f[{e,f},{g,h}] - f[{e,f},{i,j}] と表示させる関数fを定義できるのではないかと思っているのですが その点はどうでしょうか? この解決法をわかる方どうかよろしくお願いいたします。
511 名前:132人目の素数さん mailto:sage [04/11/13 09:00:23] >>510 意味は分からないが… 単純に言うと a = 1 + 3 (のような) f[a] = ... と定義したらaと入力して1 + 3が返り、 f[a]と入力してf[1] + f[3]みたいな表示が返ればいいのか? a = HoldForm[1 + 3] f[a:HoldForm[x + y]] = HoldForm[f[x] + f[y]] いづれにせよ 計算されてなければa, bからc, d,...やPlus, Minusをとり出すことはできる。
512 名前:132人目の素数さん mailto:sage [04/11/13 09:10:47] MinusじゃなくてTimes[-1,..]という形か。
513 名前:510 [04/11/13 20:10:41] >>511 ありがとうございます 一つ目の質問に関しては「HoldForm」が私が思っていた理想とするものでした 大変参考になりました これを元に2つ目の f[a,b] = f[{c,d},{g,h}] - f[{c,d},{i,j}] + f[{e,f},{g,h}] - f[{e,f},{i,j}] についても考えたいと思います。 これは要は Outer[ F,{a,b},{c,d} ] = {F(a,b),F(a,c),F(b,c),F(b,d)} というものがあると思いますが、これと似たような機能で h[ F,{ list1,list2 },{ list3,list4 } ] ={F(list1,list3)},F(list1,list4),F(list2,list3),F(list2,list4)] のようにリストの中にあるリストを分配してくれるとうなものを探していました。 引き続き調べてみようと思います。 また何かありましたらよろしくお願いいたします。 ありがとうございました
514 名前:132人目の素数さん mailto:sage [04/11/13 21:10:06] >>513 >Outer[ F,{a,b},{c,d} ] = {F(a,b),F(a,c),F(b,c),F(b,d)} ではなくて、 Outer[F, {a, b}, {c, d}] {{F[a, c], F[a, d]}, {F[b, c], F[b, d]}} 同様に、リストもOuterでよい。必要ならFlattenする。 Outer[F, {{1, 2}, {3, 4}}, {{5, 6}, {7, 8}}, 1] {{F[{1, 2}, {5, 6}], F[{1, 2}, {7, 8}]}, {F[{3, 4}, {5, 6}], F[{3, 4}, {7, 8}]}}
515 名前:510 [04/11/13 21:22:22] >>514 御指摘とアドバイスをありがとうございます Outer[F,list1,list2, ... ,listn, m ] のmの部分によってどのリストに適用できるかどうかを指定できる という性質を見逃していました。 おかげさまで一つの悩みが解決し、先に進めそうです。 ありがとうございました。
516 名前:132人目の素数さん [04/11/13 21:40:46] HoldForm フレッドホルム
517 名前:132人目の素数さん [04/11/15 00:18:14] kの変数としての関数g は、 g(k)=係数1(k)×g(k-オフセット)+係数2(k)×g(k+オフセット) の形に従う。これを逐次近似でとけ っていわれても。 といて g vs k 曲線を導け!といわれても、難しいな。 なんか初期試行関数のあたりをつける(Mathで)いい方法ない?
518 名前:132人目の素数さん [04/11/15 11:28:14] Integrate[E^0.5/(1+Exp[E-eta]),{E,0,infty}] で定義される特殊関数の 名前は?(変数はetaです) 教えてください。F1/2とかいうシンボルが付加されてます
519 名前:132人目の素数さん mailto:sage [04/11/15 14:16:01] >>518 正しい式を書き込んでね。
520 名前:132人目の素数さん mailto:sage [04/11/15 14:35:18] F_1/2[eta_]:= (2/Sqrt[Pi])*Integrate[E^0.5/(1+Exp[E-eta]),{E,0,infty}]
521 名前:132人目の素数さん mailto:sage [04/11/15 14:40:46] 分母のところが 1+指数関数 なので、γ関数ではなさそう。
522 名前:132人目の素数さん mailto:sage [04/11/15 14:50:29] www.itl.nist.gov/div898/software/dataplot/refman2/auxillar/fermdira.htm これだな。しかし、マセマティカには組み込まれてないようだ。 LerchPhiとかいうのとガンマ関数を 両方使って定義しても良いけど そんなんするくらいなら 自分で定義した方がすっきり
523 名前:132人目の素数さん [04/11/15 16:08:41] 二項演算mを言語とし、次を公理とする理論のモデルで、ドメインが {1,2,3}であり、e=1となるものをすべてあげよ。 ●∀x[m(e,x)=x] ●∀x[m(x,e)=x] ●∀x∃y[x=m(y,y)] 誰か教えてくらさい。
524 名前:132人目の素数さん [04/11/15 17:18:19] 一つお尋ねします F[ {a,b}+{c,d} , {e,f}-{g,h} ] を F[{a,b},{e,f}] - F[{a,b},{g,h}] + F[{c,d},{e,f}] - F[{c,d},{g,h}] に変えるようなものを作りたいと考えています Distribute[ F[a + b, c + d] ] ↓ F[a, c] + F[a, d] + F[b, c] + F[b, d] というのは見つけたのですが目的のものができません どうも関数の中の値がリストになるとわからなくなってしまいます。 どうかご指導よろしくお願いいたします
525 名前:132人目の素数さん mailto:sage [04/11/15 18:18:25] >>524 元ネタがわからんからこうではないんかもしれんが、 SetAttributes[MyDistribute, HoldAll] MyDistribute[f_[x___]] := Module[{g}, SetAttributes[g, HoldAll]; Distribute[g[x]] /. g -> f] F[a_, {- b_, -c_}] := - F[a, {b, c}] MyDistribute[F[{a, b} + {c, d}, {e, f} - {g, h}]]
526 名前:132人目の素数さん mailto:sage [04/11/15 18:24:13] このほうがいいかもしれん。 SetAttributes[MyDistribute, HoldAll] MyDistribute[f_[x___]] := Module[{g}, SetAttributes[g, HoldAll]; g[a_, -b_] = - g[a, b]; Distribute[g[x]] /. g -> f] MyDistribute[F[{a, b} + {c, d}, {e, f} - {g, h}]]
527 名前:132人目の素数さん [04/11/15 19:11:31] 二変数の関数Fujをかんがえる。ここで変数は iとj。 要素をFuj_{i,j}とする正方行列をつくりdeterminentを得たい とき。どうすればいい? Det[Flatten[{Table[N[Fuj[i, j]], {i, 1, 4, 1}, {j, 2, 5, 1}]}, 1]]??
528 名前:132人目の素数さん mailto:sage [04/11/15 19:37:03] >>527 Det[Table[Fuj[i, j], {i, 1, 4}, {j, 1, 4}]]
529 名前:132人目の素数さん [04/11/15 20:13:18] >>528 これだとサブグループを作ってしまって、 正方行列にならないのでは? list[i, j]=Table[Table[Fuj[i, j], {i, m1, m100}], {j, n1, n100}] で行列を作っておいて、行列式へ。 そのほうがいくない?
530 名前:132人目の素数さん mailto:sage [04/11/15 20:58:56] >>529 はぁ?それ間違ってるし。 普通Fuj[i,j]ならiが行インデックスだろ。Array[Fuj,{4,4}]と比べてみろ。 っていうか最初っからArray使えばよかったな。
531 名前:132人目の素数さん [04/11/16 01:28:53] NIntegrate[Exp[-t^2], {t, 0, ∞}] を数値積分すると結果は0.886227と出ます。 NIntegrate[Exp[-(t+a)^2], {t, 0, ∞}]) ここでaは0以外の整数。 この結果を数値(実数×aの形)で求めたいのですがmathematicaでは無理なのでしょうか? もし可能でしたらその方法、不可能でしたら可能と思われるソフトを教えていただきたいです。 よろしくお願いします。
532 名前:132人目の素数さん mailto:sage [04/11/16 01:40:49] >>531 どんなソフトでも不可能。実数×aなんて形にはならないから。 aの関数にしたいならIntegrateがいいだろう。 NIntegrateしてフィッティングもできなくはないが。
533 名前:531 [04/11/16 01:44:53] 解答ありがとうございます。 Integrateで計算するとインテグラルが残ってしまうんです・・。 フィッティングとは組み込み関数のfitのことでいいんでしょうか? ヘルプを熟読してみます。
534 名前:532 mailto:sage [04/11/16 02:02:52] >>533 Integrate[Exp[-t^2], {t, a, \[Infinity]}] といっしょでしょ。
535 名前:531 mailto:sage [04/11/16 02:12:40] >>532 なんどもありがとうございます。 534の式だと結果に積分記号が残ったままで求めたい結果(数値だけ)が得られないんですよね・・。 他の方法を模索してみます・・。
536 名前:532 mailto:sage [04/11/16 03:12:12] >>535 バージョンいくつ?4.2だったら (-1/2)Sqrt[Pi](-1 + Erf[a]) と計算されるんだが。
537 名前:531 [04/11/16 20:16:49] >>536 返答遅れてすみません・・。 バージョンは5です。Erfは誤差関数でインテグラルが残ってるんですよね・・。
538 名前:132人目の素数さん mailto:sage [04/11/17 00:58:51] 意味が分からん。Erfの内部実装が積分だと知ってるといってるんだろうか。 x^2 = Integral[t, {t, 0, x}]と書けるんだが x^2にはインテグラルが残っているんだろうか。
539 名前:132人目の素数さん mailto:sage [04/11/17 01:00:01] Integrate[t, {t,0,x}] / 2
540 名前:132人目の素数さん mailto:sage [04/11/17 01:00:50] Integrate[t, {t,0,x}] * 2
541 名前:132人目の素数さん mailto:sage [04/11/17 01:22:18] Integrate[t, {t,0,x}] * Integrate[t, {t,0,2}]
542 名前:132人目の素数さん mailto:sage [04/11/17 01:30:45] よーし、積分してから微分しちゃうぞー。
543 名前:132人目の素数さん mailto:sage [04/11/17 16:20:29] 例えば Mathematica上で In[2]:= Solve[ a^2 - 1 == 0 , a ] と入力すると Out[2]= {{a -> -1}, {a -> 1}} が返ってきますよね? ですがこの時に a の 1 つ目の解を参照するにはどのような 記述をすれば良いのでしょうか? 上の例で言えば、 一つ目の解[ Solve[ a^2 - 1 == 0 , a ] ] * 10 のようにして、 Out[2]= -10 が返るようにしたいのです。
544 名前:132人目の素数さん mailto:sage [04/11/17 18:50:58] >>543 (a /. Solve[a^2 - 1 == 0, a])[[1]] * 10
545 名前:132人目の素数さん [04/11/22 12:56:21] ウォルフラムマークって何のためにあるの?
546 名前:132人目の素数さん mailto:sage [04/11/22 23:53:16] Mathematica で f[x,y]=K (K=1〜10までの等高線) の書き方が分かりません。 ContourPlot[f[x, y], {x, -5, 15}, {y, -5, 15}, Contours -> 10, PlotRange -> {0, 10}] これを実行すると、等高線が10本出ますが、f[x,y]=1〜10 なのかどうか、、、 どのようにしたらよいか教えてください。
547 名前:132人目の素数さん mailto:sage [04/11/23 02:14:12] >>546 ImplicitPlot
548 名前:132人目の素数さん [04/11/23 13:44:55] Mathematica の中・上級者向けで, Mathematica のプログラミングを本格的に学べるいい本ある?
549 名前:546 mailto:sage [04/11/23 15:22:47] >>547 ありがとう。ImplicitPlot でできました。