トップページ⇒math
1001コメント292KB

〓 Mathematica 3 〓

■ このスレッドは過去ログ倉庫に格納されています
0001132人目の素数さん2005/07/15(金) 16:37:20
        _....._{{ 〃
      , - ' ,..、、.ヾ{{フ'⌒`ヽ、
    /  ,:', -‐‐` ´ '´⌒ヽ ヾ:、
.   ,'   ,'´ ,ィ ,ィ ,' ,   `ヽ',  ',-<
    ,'   .i  /|. /.| { i,  i,  }.  }_,,))
   ! |  ! .,'-.{ ! !|; |`、.}゙!.! |.  ! ヽ.
   ', ', |Vァ=、゙、 `゙、!-_:ト,リ', l ! |   ゙',
    ヽ、', l:!Kノ}.     f:_.)i゙i: リ ! l ル 
     | l!iヾ- ' ,   .!__:ノ ゙ ,リ l リ'´     
.     ',|!!、    r‐┐   ` ノ'. /,イ    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  
      'i!゙、ヽ、 ゙ー'  _, ィ,:',:''´    <  Mathematica に関する話題はここに書いてね!
      ゙:、ィ、jヾー::: 'iヘ .ノ',リ.        \___________________
   ,、- '´ ヽ、゙、   { `>"、  
  /\\    ',   }   //`ヽ

 ★前スレ

〓Mathematica〓
http://science2.2ch.net/test/read.cgi/math/985023298/

〓 Mathematica 2 〓
http://science3.2ch.net/test/read.cgi/math/1078534285/
0641132人目の素数さん2007/06/12(火) 21:14:53
>>640
1から、好きな個数の配列用意して9とか99にかけるだけちゃうんかと。
あいかわらずなにしたいのかわからん。
06426322007/06/12(火) 21:20:09
>>641
書き込みありがとうございます。
実は、N桁の自然数において、元の数と入れ替えた数の
和と差にはある規則性があることに気がつきました。

それを証明するきっかけとして、mathematicaで倍数判定
を自動化することを考えました。 
0643132人目の素数さん2007/06/12(火) 21:27:03
>>642
元の数と入れ替えたのもとの数がなにかもわからないし、まず、説明方法を考えたほうがいいと
おもうよ。
例えば、関数をつくりたいなら、インプット要素と期待するアウトプットを書くとかね。
06446322007/06/12(火) 21:34:40
>>643
任意の自然数において成り立つ法則だと思うのですが、例えば、

元の数 12
入れ替えた数 21

この2数の和 → 33(11の倍数)
この2数の差 → 9 (9の倍数)

これは2桁の数の例ですが、3桁、4桁、n桁と拡大したときに、
規則的な倍数変化をするように思ったのです。
06456322007/06/12(火) 21:41:23
インプットと期待するアウトプットについて書いておらず、すみません。

インプットは任意のn桁の自然数です。
アウトプット二パターンあり、一パターン目は、そのn桁の自然数を
入れ替えた数との差のが何の倍数になっているか調べることです。
(99の倍数など)

二パターン目は、n桁の自然数と入れ替えた数との和が何の倍数
になっているか結果が帰ってくることです。
0646132人目の素数さん2007/06/12(火) 21:42:10
>>644
あいかわらずわかりづらいです。
インプットは、N桁の整数
アウトプットは、なに?

あと、33(11の倍数)の3ではなく11のほうを選ぶことも必要なの?その場合、その基準は?
0647132人目の素数さん2007/06/12(火) 21:43:22
>>647
ニアミス。
アウトプットはわかりました。
何の倍数ってのは、素因数分解じゃなくて、特定のものをかえすひつようがあるの?
06486322007/06/12(火) 21:47:07
>>646
何度もすみません。

>あと、33(11の倍数)の3ではなく11のほうを選ぶことも必要なの?その場合、その基準は?

例えば、二桁の数を 10a+b とおくと、入れ替えた数は 10b+a となります。
その和は 11a+11b なので、11の倍数です。
その差は 9a-9b なので、9の倍数です。

このような11の倍数であるとか、9の倍数であるといったアウトプットが欲しいのです。
06496322007/06/12(火) 21:48:46
>>647
特定のものを返して欲しいです。
詳しくは >648で述べさせていただいたとおりです。

何度もレスを頂きありがとうございます。
0650132人目の素数さん2007/06/12(火) 21:57:55
>>648
都合のいい例ばかりで一般的な規則がわかりません。
たとえば1392の場合、どんな値をどういう理屈で返すのでしょう?
0651132人目の素数さん2007/06/12(火) 22:05:58
ついでに13945あたりも知りたいです。
0652132人目の素数さん2007/06/13(水) 18:58:46
質問です。あくまで一例ですが、

func[r_] := (
  s = func2[r]; (*func2はなんらかの複雑な処理*)
  t /. FindRoot[Sin[t] + t == s, {t, 0}]
)

なる関数を定義したとき、逆関数的に

FindRoot[func[r] == 6, {r, 0}];

などとして、返り値tが目的の値になるようなrを求めようとすると
エラーになります。
なにがいけないのでしょうか?
0653132人目の素数さん2007/06/14(木) 00:42:35
具体的にエラーになる例あげて。
06546522007/06/14(木) 10:28:17
たとえば先ほどのfunc2を挟まない、

func[r_] := (
  t /. FindRoot[Sin[t] + t == r, {t, 0}]
)
FindRoot[func[r] == 6, {r, 0}];

このコードはエラーになります。
(ただしエラーと共に正しい答えも…?)

ただこのコードだと、Sin[t]+tにt=6入れれば欲しい答えが出ますが、
そうではないという意味でさっきはfunc2を挟みました。
実際にはfuncはrを受け取ってゴニョゴニョしてループとか条件分岐とか
あって、それからFindRootやって、出てきた答えをまたゴニョゴニョして
返す、といったちょっと複雑な関数なため、逆に辿るのは無理です。

つまり、「ちょっと複雑めな関数を外から逆関数的に使いたくて
FindRootしてみたら、その関数の中にあるFindRootでエラーになる。
なんとかならんか」ということです。
0655132人目の素数さん2007/06/14(木) 15:26:06
そもそもその逆関数はwell-definedなのかい?
06566522007/06/15(金) 23:56:42
well-definedでググってみたけどよく分からない…
上の例はwell-definedではないのでしょうか

実際のfuncの中身は、とある光学系における幾何光学的な光線追跡で、
入射光角度を引数に最終的な到達点の座標を返すものです。
(mathematicaにやらせる仕事じゃないかもしれませんが)
逆にここに到達させるためにはどんな角度で…ってやろうとしたら
行き詰ったわけで。
0657132人目の素数さん2007/06/16(土) 01:48:34
普通に2stepのloopをプログラムで書けば?
FindRootで逆関数をもとめられてるわけじゃないんだから。
06586522007/06/19(火) 02:58:27
>>657
2分法のプログラムを書いて何とかなりました
どうもです
0659132人目の素数さん2007/06/21(木) 22:25:09
英語版のトライアルの申し込みしたんですが、2週間以上たっても全くなんの返事も来ません。
皆さんはどうですか?
0660132人目の素数さん2007/06/21(木) 23:28:31
問い合わせしてみれば?
0661132人目の素数さん2007/06/26(火) 21:23:15
Ver.6 日本語版マダー?
0662132人目の素数さん2007/06/29(金) 02:53:49
age
0663132人目の素数さん2007/07/01(日) 00:45:02
ノートブックの出力形式について,

指数部が -3<#<3 の時はそのまま
それ以外のときは3の倍数(EngineeringForm形式)

をデフォルトに設定したいのですが,
ヘルプを見てもどこに設定していいやら分かりません。
(オプション Number/Format らしいのですが…)

式は

NumberForm[%, ExponentFunction -> (If[-3 < # < 3, Null, 3 Quotient[#, 3]] &)]

で合っていると思うのですが
設定するオプションの位置をご存知の方
どうぞ宜しくお願いします。

(未だにこの独特のオプション設定ウィンドウの扱い方が分からない…)
0664132人目の素数さん2007/07/01(日) 22:11:21
漸化式で与えられた数列の一般公を求めたいのですが、イマイチよくわからん。

漸化式 a_0=0,a_1=1,a[n+1]=a[n]+a[n-1] で与えられた数列の一般公を求めたいのですが・・・

RSolve[{a[n+1]==a[n]+a[n-1],a[0]==0,a[1]==1},a[n],n]

として shift+enter 押してもできない・・・
0665132人目の素数さん2007/07/01(日) 22:12:33
↑すみません。やめるつもりが誤って書き込んでしまいました。
0666132人目の素数さん2007/07/01(日) 22:17:30
>>664
フィボナッチ数って知ってる??
0667132人目の素数さん2007/07/01(日) 22:46:05
再帰しちゃうからMathematicaで処理できるんだろうか…
0668132人目の素数さん2007/07/02(月) 02:17:30
Mathematicaはいずれビジネスとしてはうまくいかなくなるだろう。
Mapleがそれに続くだろう。
0669132人目の素数さん2007/07/02(月) 02:48:51
>>664
それ実行する前にClear[a]とか?
0670習い始め2007/07/02(月) 18:47:22
>>664
RSolve[{a[n+1]==a[n]+a[n-1],a[0]==0,a[1]==1},a[n],n] //FullSimplify
でOK
0671132人目の素数さん2007/07/03(火) 20:53:33
質問です。
2DPlotで横軸に取るプロット数を任意に決める方法はありますか?
たとえば、Plot[Sin[x],{x,-1,1}]において、プロット数を10個に指定して描くことはできますか?
ListPlot以外の方法でどうかお願いします!
0672132人目の素数さん2007/07/03(火) 21:08:54
>>671
無理。
ListPlotを使って、Plotと同じ引数をもつ関数かけばいいでFA。
06736712007/07/03(火) 21:36:29
>>672
分かりました、有り難うございます。

ところで、こちらがnbファイルをアップして、プログラムの無駄な部分を検証して下さる方はいますか?
計算時間を短くしたいのです。
無理承知で一応。
06746712007/07/03(火) 21:38:29
追記。
用途は大学院の論文作成です。自分の能力からみても営利的な働きはありません。
0675132人目の素数さん2007/07/04(水) 00:56:17
PlotPoints->10, PlotDivision->1
とか?曲率を保とうとするので、xが等間隔にはならないけど。
0676132人目の素数さん2007/07/04(水) 11:49:33
連立方程式って行列の式に簡単に直せますか?
0677132人目の素数さん2007/07/04(水) 11:52:56
>>676
一目見てできる作業にMathematica使う必要ないでしょ。
0678132人目の素数さん2007/07/04(水) 12:06:17
連立方程式を解きたいんですが、SOLVEだと時間かかるんでガウスザイデルとか使いたいんで行列に分けないといけないのかと思ったんですけど
0679132人目の素数さん2007/07/04(水) 12:07:50
連立方程式を入力するよりも、その係数を行列として入力するほうが簡単な件について。
0680132人目の素数さん2007/07/04(水) 12:16:10
やっぱそうですか。
とりあえずやってみます。
ありがとうございました
0681132人目の素数さん2007/07/04(水) 12:21:48
NSolveも覚えとき。
0682132人目の素数さん2007/07/04(水) 12:32:55
ありがとうございます。
試してみます
0683132人目の素数さん2007/07/04(水) 21:08:14
連立方程式が一次連立方程式だとは一言も言及されていない件について。
0684132人目の素数さん2007/07/05(木) 02:11:21
Mathematicaスレって、質問しっぱなしとか、
やってみますってだけで結果の報告無しとかいうやつが多いね。
0685132人目の素数さん2007/07/05(木) 08:13:11
自分の宿題が出来てしまえば用はないってことでしょう
0686132人目の素数さん2007/07/10(火) 15:35:15
そして宿題くらいしかネタがないってことか。
0687132人目の素数さん2007/07/10(火) 16:28:30
対角成分が0でそれ以外は全て1のn×nの行列の作り方を教えてください。
0688132人目の素数さん2007/07/10(火) 16:42:01
>>687
MM[n_] := MatrixForm[Table[1, {i, n}, {j, n}] - IdentityMatrix[n]]
0689132人目の素数さん2007/07/10(火) 22:17:45
>>688
できました!
ありがとうございました。

Mathematicaプログラミングを勉強したいのですが、
オススメの本はありますか?
0690132人目の素数さん2007/07/11(水) 02:10:48
>>688

1 - IdentityMatrix[n]
06916872007/07/11(水) 13:04:05
>>690
ありがとうございます。
こういう書き方もできるのですね。覚えておきます!

でも、実は全成分1ではなく文字列の行列で、
正方行列ではなく、m×nの行列を求めたかったんです。
分かり易くシンプルに質問させて頂きました。

IdentityMatrixで作ったn×nの単位行列とm×nの行列の演算ができないので、
ii成分だけ0にするように書き換えてみました。
ちょっと手間かかり過ぎですかね?
0692132人目の素数さん2007/07/12(木) 12:24:35
>>691
それで期待通りの動作をしてるんならいいんじゃないでしょうか。
ていうか何か聞きたいならコード出すなりもっと具体的に書かないと
めちゃくちゃ親切でヒマな人がいたとしてもどうしようもない。
0693132人目の素数さん2007/07/12(木) 20:49:27
V6日本語版キター
0694132人目の素数さん2007/07/13(金) 03:07:11
Mathematicaって調べたら2次方程式なんかルートのままで答えだしてくれるんですね。
これ使うと高校数学なんかは余裕なの?例えば整数問題苦手なんだけどこれだと問題文
入力するだけで答えが出るとか?
0695132人目の素数さん2007/07/13(金) 09:40:46
ダメだダメだダメだ!
苦手なものを苦手なまま回答だけ手に入れようと考えているようではダメだ!
ぶっちゃけ、算盤や電卓より高度ではあるが所詮は道具だから
理解をするのは人間の仕事
0696132人目の素数さん2007/07/13(金) 11:02:48
自然語解析機能はさすがにversion 10ぐらいにならないと。
0697132人目の素数さん2007/07/13(金) 12:36:16
自分の入力した式が正しいかどうかを判断できる知識は必要。
06986942007/07/14(土) 09:15:30
調べれば調べるほどすげー、カッコいいグラフのようなものまでかけるみたいだし。
参考までにこれ使ってabcd<a+b+c+d a,b,c,d整数ですべて求めよ。みたいな問題解く
ことってできるの?取りあえず2次方程式はだいたい解けるらしいけどこういうのは
どうなのかなって思って。
0699132人目の素数さん2007/07/14(土) 09:19:16
上のひょっとしたら自然数だったかも
0700132人目の素数さん2007/07/14(土) 12:16:06
定義の中で「関数を定義する」のはどうすれば良いですか?
感覚的には, g[f[x]_]:=(h[x_]:=f[x])
という感じで・・・ 実際これを使った時
入力:
g[x^2+3];
Print[h[x]]
Print[h[1]]
結果:
x^2+3
4
を得たいということです
0701132人目の素数さん2007/07/14(土) 12:23:59
その具体例を返す関数なら簡単なんだけど、二つ目の結果が1を代入に決めうちしていいのかね。
その例だけだと、定義の中で関数定義なんて発想にならないと思うので、ちゃんと考えて書いてみて。
0702132人目の素数さん2007/07/14(土) 12:31:26
>>701
これだとうまくいかないということです
g[s_] := (h[x_] := s);
g[x^2 + 3]
Print[h[x]]
Print[h[1]]
結果
3+x^2
3+x^2
となって3が代入されたことにならない
定義の中で定義したいわけです
0703132人目の素数さん2007/07/14(土) 12:34:00
>>702
訂正:1が代入されたことにならない
0704132人目の素数さん2007/07/14(土) 12:48:10
>>702
ぽかーん。
0705700,7022007/07/14(土) 19:08:24
かなり不満ですが・・・自己解決しました
0706132人目の素数さん2007/07/14(土) 19:19:45
またか。
0707132人目の素数さん2007/07/15(日) 00:20:11
いちいち書いておく

自己解決した時も、どう解決したのかは書いてくださいよ
ネットで質問する時の基本事項ですよ

>698
それは余裕で。
07086982007/07/15(日) 00:49:59
>>707 それはすごい!調べたら2次方程式の場合はSOLVEってコマンド使うこと
で解けるようですが上の問題もそうなんですか?それとも別のコマンド?
この分ならチャート式くらいの問題は全部コマンドひとつで解けそうで興奮し
てます。
0709132人目の素数さん2007/07/15(日) 16:37:20
二年。
0710132人目の素数さん2007/07/16(月) 00:43:21
おれ5.2で十分に満足なんだけど6にするメリット何かあるかな?
0711132人目の素数さん2007/07/17(火) 15:19:56
>>710
自分も5.2でいい。6はよくわからん。
0712132人目の素数さん2007/07/18(水) 00:09:43
Integrate[Abs[Sin[x] - Sin[2x]], {x, 0, Pi}]
の実行結果

Mathematica 5.0 Mac 版:2
Mathematica 5.0 Win 版:2 + Abs'[0]/2
Mathematica 5.1 Win 版:5/2
厳密解:5/2

これは Mathematica 5.0 以前のバグ?仕様?
0713132人目の素数さん2007/07/18(水) 12:27:58
6.0が送られてきたんだけど、License Certificateに記載されていたパスワードが無効だった。
これはまたWebで登録しなきゃいけないの?
0714132人目の素数さん2007/07/18(水) 20:39:33
自分は長らくマセマチカ4.1を愛用しています。
アップグレードも馬鹿高いし、数学は基本的に完成された学問というイメージが強くて劇的な機能強化があるようにも思えず、
非数学分野の自分としては十分に満足して使っていました。
こんな自分は間違っているでしょうか?
さっさと最新版にアップグレード汁!という方がおられたらご意見をください。
0715132人目の素数さん2007/07/18(水) 21:14:01
多分おられません
0716132人目の素数さん2007/07/18(水) 22:15:48
機能に満足してるなら特にアップデートする必要はない。
0717132人目の素数さん2007/07/18(水) 22:33:44
OS再インスコを数回繰り返したら認証通らなくなった。
あほらし。正規ユーザーなめてる。
0718◇宮城200か12-54@Linuxザウルス : ◆mzpjBMNq3U 2007/07/18(水) 23:03:20
はじめての数式処理ソフト Maximaで楽しむ数式計算と物理グラフィック
著者: 竹内薫 発行年月日:2007/07/20 サイズ:新書判 ページ数:198 ISBN:978-4-06-257560-7 価格(税込):1,260円 近日販売
内容紹介 理系学生なら、絶対必要! 必ず役立つ!数値計算はもちろん、数式計算やグラフィックまでなんでもこなす、理系学生必携の「数式処理ソフト」。
科学ライターの著者が初心者に向けて、使い方と使いこなしのテクニックを楽しく解説します。「ペンローズのツイスター」にもチャレンジしよう。
高価な市販品に匹敵する数式処理ソフト「Maxima」付き。(Windows Vista,Windows XP対応)
複雑な数値計算から、式の展開や方程式を解く数式処理、さらに計算した値をCGで表示するグラフィックスなどの能力を備えた「数式処理ソフト」は、理系の学生なら是非もっていたいソフトウェアです。
しかし、市販品の数式処理ソフトは大変高価で、簡単に使うことはできません。本書は科学ライターの竹内氏が、Maximaを使って数式処理ソフトの使い方と使いこなしを、分かり易く解説します。
なお、掲載した全てのコードに対応するMathematicaのコードも収録してあるので、Mathematicaのユーザーにも楽しんでいただけます。
目次
1.「数式処理」って何なの?
2.Maximaの概要
3.まずは遊んでみよう
4.コーネル大学の算数問題
5.ファインマン先生の予備知識
6.ペンローズのツイスター
7.超ひもが棲む世界?
8.ボームの量子ポテンシャルを「見る」
9.いろいろな数学の問題に挑戦する
0719132人目の素数さん2007/07/19(木) 02:24:21
>>717
サポに連絡したらすぐ更新できんじゃないの?
マザボ交換でライセンスの更新が必要になったとき
メールしたらすぐに再発行されたよ。
英語版でWolframの直接サポートだけど。
0720132人目の素数さん2007/07/20(金) 16:59:50
>>713
License Certificateってパスワード書いてなくね?
0721132人目の素数さん2007/07/20(金) 18:28:46
二次元のフーリエ変換は出来るのでしょうか?
例えば
(1,2),(2,4),(4,3),(7,1),(8,2),(9,4),(11,2)
見たいなやつ
0722132人目の素数さん2007/07/20(金) 18:38:14
mathematicaって買うの必須ですかね?
初歩的な質問ですけど
院生です
0723132人目の素数さん2007/07/20(金) 19:25:44
必要なら買えば?
理系大学ならソフトがあると思う。
0724132人目の素数さん2007/07/21(土) 00:30:08
>>722
生協でアカデミック版が安く売っているだろ
0725132人目の素数さん2007/07/21(土) 00:59:54
個人で買う前に研究室などでの共同購入を提案してみてはいかがか?

全然関係ないが、何度見ても「(品物の名)が売っている」には慣れる事ができない・・・
0726132人目の素数さん2007/07/23(月) 08:12:32
mathematicaでPlot[function,{x,xx,xxx}]とかすると、
よくy軸が変なところになってしまいます。原点から
表示してもらいたいのですが、どうすればよいでしょうか?
どうかよろしくお願いします。
0727132人目の素数さん2007/07/23(月) 10:09:27
Plotのヘルプは見たのか?
どういうオプションがあるかいろいろ書いてある。
0728132人目の素数さん2007/07/23(月) 14:09:15
>>727
いま見てみました.

PlotRange->{0,100}
などとすると、できそうです。
ありがとうございました。
0729132人目の素数さん2007/07/23(月) 14:12:23
>>728
AxesOriginのヘルプも見とき。
0730132人目の素数さん2007/07/23(月) 15:02:34
6.0を早速送って頂いたのは有難いんですが、
パスワードが通じません。
0731132人目の素数さん2007/07/23(月) 18:53:48
そりゃ高飛車wolframに聞くしかあんめえ。また our database shows .. うんねんでごねるかもしれんが。
0732132人目の素数さん2007/07/24(火) 03:06:42
>>728
ありがとうです。
0733ageage2007/07/24(火) 08:54:48
おい、6はスゴイぞ
0734132人目の素数さん2007/07/24(火) 08:56:42
具体例を述べてください。
0735ageage2007/07/24(火) 08:57:44
Clock[{1,Infinity,1}]//Dynamic
0736132人目の素数さん2007/07/24(火) 10:46:43
N[1+0.05/365, 200]
とかやっても、200桁表示されません。
どうやれば200桁表示してくれるのでしょうか?
0737132人目の素数さん2007/07/24(火) 12:02:18
0.05を5/100にするとか。
0738132人目の素数さん2007/07/24(火) 12:05:36
N[1+5/36500, Clock[{1, Infinity, 1}]] // Dynamic
0739132人目の素数さん2007/07/24(火) 21:54:50
>>734
初回限定版特典のドラマCDが最高だった
0740132人目の素数さん2007/07/24(火) 21:57:26
誤爆だと信じたい。
■ このスレッドは過去ログ倉庫に格納されています