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

〓Mathematica〓

■ このスレッドは過去ログ倉庫に格納されています
0001132人目の素数さんNGNG
ないので立てました。
Mathematicaについて語るスレです。

大学で初めて出会った時は感動したなぁ。(NeXT版…)
Plot3Dでよく遊んだものです。
四次方程式の一般解を出力して、壁に貼ったりしてました(w
0693132人目の素数さんNGNG
>>690
それはそうだな。でもプログラミング言語ってのは厳密さがいいんだよ。
「sin?どうせSinと同じだろ」とか「+? ここは普通-だろ」とかやられたら
実際困る。
0694132人目の素数さんNGNG
>>692
要はMathematicaの買えない貧乏人のひがみだろw
0695132人目の素数さんNGNG
>>693
もちろんそんなのは分かってる。所謂ジョークだよ。
0696132人目の素数さんNGNG
list={{Aaa[a],Aaa[b],Aaa[c]},{Aaa[d],Aaa[e],Aaa[f]},{Aaa[g],Aaa[h],Aaa[i]}}
というリストがあって(ホントはもっと長い)、こいつを
{{a,b,c},{d,e,f},{g,h,i}}
にしたいのですが、エレガントな方法を教えてつかあさい。
Tableは使わないでね。
0697132人目の素数さんNGNG
>>696
(#[[1]] & /@ # &) /@ list
0698697NGNG
>>696
Map[First, list, {2}]
のほうがいいな。
0699132人目の素数さんNGNG
>697
>698
できました。Thanks
さすがですねぇ
0700132人目の素数さんNGNG
教えてつかあさい。
0701132人目の素数さんNGNG
mathematicaの初心者講座やって下さい。
0702132人目の素数さんNGNG
yada
0703132人目の素数さんNGNG
>>701
Shift+Enter
0704132人目の素数さんNGNG
MacではEnterだけで実行!
0705supermathmania ◆ViEu89Okng NGNG
Re:>701 MathematicaにはHelpが付いているはずだ。それを読むといいだろう。
まずは、Shift+EnterとExit[]と、+-*/^という演算子と、関数の引数は四角括弧で採ることを覚えよう。
0706132人目の素数さんNGNG
>>705
Exit[]知らなかった!!
0707706NGNG
つーか、何の意味があるの?DOSみたいに終了するのかと思いきやしないし。
0708132人目の素数さんNGNG
Quit[]
とすると、カーネルが終了するのだ
わかったかね
0709132人目の素数さんNGNG
>>708
カーネルってなんですか?あとそれ以前にExitはどんなときに役に立つのですか?
0710abcNGNG

おかねもうけ情報見つけました

http://pocket.muvc.net/job/index.html
0711132人目の素数さんNGNG
Windowsです
[スタート]の[プログラム]メニューにあるMathematicaでカーネルを2まで同時に立ち上げることができる。
(プロフェッショナル版)
0712132人目の素数さんNGNG
xyではなくてx*yを使うの?
0713132人目の素数さんNGNG
カーネルってのは、
フライドチキンのおじさんのことだ
覚えておけよ
0714132人目の素数さんNGNG
普通乗算はスペースだよな。
0715132人目の素数さんNGNG
Random[]で出る結果は何通りくらいある?
0716132人目の素数さんNGNG
>>715
意味わかんね
0717132人目の素数さんNGNG
>>716
Random[]で出る数は何種類から選ばれるかということです。
多ければ多いほど優秀、と。
0718132人目の素数さんNGNG
>715
Help に書いてないか?

まあ書いてないとして高々二桁 bit なんで十進数で
33 桁程度ではないか?基本的には剰余だろうから。。。
0719132人目の素数さんNGNG
>>718
ありがとう。
ピッタリ1とかピッタリ0ってありますか?
0720132人目の素数さんNGNG
SeedRandom[Random[]]ってやるとかなり増える?
0721132人目の素数さんNGNG
>719
ぴったりですか。。。原理的にはあるんだけど
実数乱数なら無いとしたほうがよく
整数乱数なら有りそうね。でもこれも Help に書いて無いか?

>720
基本的には Random[] は余りを周期的に利用していると考えて
そう外れがない。
SeedRandom は、この周期のどこから始めるかを指定する
だけなので、増えんよ。
0722132人目の素数さんNGNG
Mathematica Ver.5日本語版リリース! あげ
ttp://www.wolfram.com

でも代理店はどこもVer.4のままれす
0723132人目の素数さんNGNG
Ver.5
クラスルームってのは特別定価4万6千円だとよ
0724132人目の素数さんNGNG
mathematicaで計算実行したら、
”Internal counter overflow.
Some expression evaluations may not run to their
final fixed points. Try redoing your computation
on a 64-bit enhanced version of Mathematica.”
こんなエラー出てしまって計算やってくれないのですが、これってどういうことですか?
ちなみにVer.4です
0725EXCITE 翻訳NGNG
内部カウンタのオーバーフロー。いくつかの表現評価はそれらの最終固定
小数点で実行不可能かもしれません。Mathematicaの64ビット増強された
バージョン中のあなたの計算をやり直してみてください。
0726132人目の素数さんNGNG
k1=1/12; k2=1/6;

g[t_] = 2.30743*Exp[t^3.30352]*t^2.30352

h[t_] = (t*(k2+Sqrt[k2^2-t*k1^3]))^(1/3)

k[t_] = h[g[t]] + k1*g[t]/h[g[t]]

のとき、

NSolve[Integrate[h[t], {t, 0, tk}] == 1, {tk}]

を解きたいのですが、式が複雑すぎてエラーの嵐でした。
FindRootでもできませんでした。
先生によれば工夫すればできるらしいのですが、さっぱりわかりません・・・
どなたか教えていただけないでしょうか?

あと、g[t]の値はある計算結果なのですがそのままだと
2.30743*Exp[0.t^3.30352]*t^2.30352
となっているんですが、
0.t^3.30352 = t^3.30352
でいいんですよね?見たことない表現なので戸惑ったのですが・・・
なんでこんな表現になるんでしょうか?
0727132人目の素数さんNGNG
>>726
g も k も関係ない。

解けないのは式が複雑だからじゃなくて、使いかたが間違っているから。
NSolveはpolynomialを解くものであって、一般の式は解けない。

数値解は
FindRoot[NIntegrate[h[t], {t, 0, tk}] == 1, {tk, {1, 2}}]
等。(ただし、Sqrtの中身が負にならないtの範囲で)

0.t に見えたのは0. tで、0. * tだろう。その解釈は間違い。
0728726NGNG
>>727
レスどうもです。
726にも書きましたがFindRootでもできませんでした・・・

また、0. * tって0*tとは違うんですよね・・・?
0. =桁数の小さい小数ってことですか?
0729726NGNG
>>727

書き込んでくださった
FindRoot[NIntegrate[h[t], {t, 0, tk}] == 1, {tk, {1, 2}}]
でやってみたところできました。
FindRoot[Integrate[h[t], {t, 0, tk}] == 1, {tk, 1}]
でやったらできなかったのですが、なぜこれだとできなかったのでしょうか・・・?
0730132人目の素数さんNGNG
>>729
0.が常に0と区別できないRealsを表すのかどうかは知らない。
FullFormすればその0.の値はわかるけれど。

HelpのFindRootの項を読みなさい。
0731726NGNG
>>730
FindRootについて勉強してみます
ありがとうございました
0732132人目の素数さんNGNG
>>731
ヘルプ読むのに10分もかからんだろ。そして読んだら、
> FindRoot[Integrate[h[t], {t, 0, tk}] == 1, {tk, 1}]
でもできないとおかしいと気づくはず。
答えが大体わかってたから、数値計算だけでもとめられる{tk,{1,2}}の
指定をしただけだ。

{tk,1}と指定すると、ニュートン法を行おうとする。
Integrate[h[t], {t,0,tk}]の微分は計算できる(h[t])から、
ニュートン法が適用できるはずだ。

実際遅いだけで、(Ver. 4.2では)解ける。
0733132人目の素数さんNGNG
どなたか教えて頂けないでしょうか。ほとほと困り果てております。
「1カラム→実数、 2カラム→複素数」
のテキストファイルをリストとして読み込ませるためには、どのよう
にしたらよいのでしょうか?
0734supermathmania ◆ViEu89Okng NGNG
Re:>733 C言語なら楽勝だよ。
0735132人目の素数さんNGNG
>733
何のリストに読み込ませたいんだい?
0736132人目の素数さんNGNG
>733
Excelに貼り付けて文字列関数でCONCATENATEを使って結合すれば?
括弧の部分とかは、固定の文字列として入れればいい。
0737132人目の素数さんNGNG
>>735
Mathematicaで読み込ませたいです。
0738132人目の素数さんNGNG
リストはこんな感じです。
     ↓
実数 複素数
1   3+I2
2   4+I5
3   8+I9

0739132人目の素数さんNGNG
>>739
data.datの中身が、
1    3+2I  
2    4+5I  
3    8+9I
なら、
ReadList["data.dat", {Number, Expression}]

I2, I5, I9などとなっていたら、Symbolと理解されてしまうので、
あらかじめ加工しておくか、Stringで読み込んでMathematica内でパースする。
0740132人目の素数さんNGNG
>>739
本当にありがとうございます。これから試してみます!
0741132人目の素数さんNGNG
Readlist[#,Record]& で読み込み
Characters でばらす。
0742132人目の素数さんNGNG
灯台に再びサイトライセンスで導入されるようだな。
1年の解析Bを取る連中は、課題を解く手間がずいぶん少なくなるだろう。
0743132人目の素数さんNGNG
今入ってないのか

教官が授業で使っててずっけーって思ってた
0744132人目の素数さんNGNG
f[x_] :=
Print[b];
Return[x]

という関数を定義したとき
f[6]と入れても
bとプリントされるだけで、6が返ってきません。
どこが問題なのか分かる方教えてください。
0745744NGNG
f[x_] :=
Module[{},
Print[b];
Return[x]
]

こう定義し直したら
f[6]を実行した時
bがプリントされて、6が返ってくるようになりました。

どうしてよくなったかは分からないですが…
0746132人目の素数さんNGNG
>>745
>>602を見ろ。
0747744NGNG
>>746
ありがとうございます。
こう定義し直して、うまく行くことが分かりました。

f[x_] :=
(
Print[b];
Return[x]
)
0748132人目の素数さんNGNG
y^2=x^3-2 (-2<=x<=2)このグラフが書きたいのですが・・・
Plot[Sqrt[x^3 - 2], {x, -2, 2}]こう書くと上手くいきません。
どなたか教えてくださいませm(__)m
0749132人目の素数さんNGNG
>>748
そりゃあ、x^3-2<0の部分は書けないに決まってる。
0750132人目の素数さんNGNG
>>748
<<Graphics`ImplicitPlot`
ImplicitPlot[y^2 == x^3 - 2, {x, -2, 2}, AspectRatio -> 1]
0751748NGNG
>>749さん
>>750さん
(゚´Д`゚)どうもありがとうございます。助かりました。
0752132人目の素数さんNGNG
だれかWebMathematicaを使ってWeb上で数式処理が無料でできるサイトを構築してください!
俺にはMathematicaを個人的に買える予算などないんです!学生じゃないし!
0753132人目の素数さんNGNG
おとなしくみゅーぱっどでも使っとれ
0754132人目の素数さんNGNG
>>753

プロ版じゃないと見栄えが悪いと言ってみる。
0755132人目の素数さんNGNG
じゃ、MAXIMA使えばぁ
0756132人目の素数さんNGNG
フリーウェアでほとんどの数式をグラフにしてくれるソフトあるよね。
どんな極方程式もグラフにしてくれるやつ。すげー楽しい
0757132人目の素数さんNGNG
Functionのコマンドについて質問です
x^2+y^2が0になるときのxを求めるもので
条件としてyはすでにリストになっています(例えば、y[[1]]=1,y[[2]]=2)
そこで、functionを使ってxについての方程式をつくり求めようとしました
が、
A=Table[0,2];
Do[
A[[i]]=Function[{x,y},x^2+y^2][x,y];,{i,1,2}
];
として、A[[1]][1]と出力した場合にx^2+1[1]となってしまい、xに1を代入してくれません
理想としては1+1(=2)となってほしいのです
どのようにすれば、求めることが出来るのでしょうか?
よろしくおねがいします
0758132人目の素数さんNGNG
>>757
貼っても動かない上に全く意味不明だ。
Table[0,2]とはなんだ。
(x^2 + y^2)[1]でなにがやりたいのだろうか。
0759132人目の素数さんNGNG
x^2 + y^2 が0になるような整数は(0,0)しかない。
0760757NGNG
すいませんでした。実際xはもっと複雑な関数でして、わかりやすくするために
xにしてしまいました。
つまりやりたいことは、ある2つの変数(x、y)をもった式があります
条件としてyはすでに決まっていてリスト化されています(例:yの1番目=1、2番目=2、n番目・・・)
そこで、yがn番目の時に式=0となるときのxを求めたいのです
0761132人目の素数さんNGNG
y = Range[10];
A := Table[Function[x, x^2 +  y[[i]]^2 // Evaluate], {i, 1, 10}];

A[[1]][1]

なんども書き込んでるんだけど反映されない…
0762132人目の素数さんNGNG
Plotを使ってグラフを描いたときに目盛りに書かれる数字を大きくする方法ってあるんでしょうか。
グラフを大きくしたいときに表示されている部分の角をマウスでドラッグして大きさを変えているんですが、
目盛りの数字が大きくならないんです。
最初に描かれるグラフの大きさも変えたいんですがこちらも分かりません。
全然数学な内容でなくて申し訳ありませんが教えてもらえないでしょうか。
0763757NGNG
ありがとうございます。そのやり方でできました。
あの、そこで例えばx^2+y^2=100と置いた時に
x^2+1=100, x^2+4=100 ・・・ x^2+100=100と10個のリスト化された式がでます
そこで、xを求めるためにFindRootを使ったのですがリスト化されたものに対して
答えを出そうとするとうまく行きません
答えをリストとして出すためにはどのようにすればいいのでしょうか
よろしくおねがいします
0764132人目の素数さんNGNG
少しは自分で考えろ。
0765132人目の素数さんNGNG
>>762
DefaultFont -> {"Bold", 10}
0766132人目の素数さんNGNG
>>765
ありがとうございます。明日早速試してみます。
>>764
すみません、Plot周りのオプションで探してはみていたのですが
「それじゃ見つかるわけがない」と猛反省しています。
0767772NGNG
自己解決いたしました。ありがとうございました
0768132人目の素数さんNGNG
mathematica5のStudent版買った人いる?
0769132人目の素数さんNGNG
買ったよ。パスワード申請が相変わらず(`×´)丿ウザイ!!
0770132人目の素数さんNGNG
最近のMathematicaも
Windows版、Mac版、Linux版とかは一枚のCDで提供されているんですか?
少なくとも3.0の頃はNeXTとかも一緒に入っていて
プラットフォームの乗り換えの時、便利でしたが。
0771132人目の素数さんNGNG
Winnyで落としたんだけど、なんかパスワードだか必要で使えん
意味ねー
0772132人目の素数さんNGNG
>>771
keyGeneratorがついてるだろ
0773132人目の素数さんNGNG
>>772
そんなアドバイスしてどうする…
0774132人目の素数さんNGNG
>>769
ネットでできるようになったんじゃなかったけ?
0775132人目の素数さんNGNG
ImportやExportのデフォルトのフォルダを指定する方法ありませんか?
初期設定は、Mathematica.exeと同じフォルダになってるけど
そこだと毎回面倒なので、デスクトップとかマイドキュメントに変えたいです。

今はImport["C:\Documents and Settings\galois\My Documents\sound.wav"]
とか書いてます。
0776132人目の素数さんNGNG
今日アクティベーションが切れた。
来年から社会人だから糞高い値段かわんといけんのかと思うと鬱
0777132人目の素数さんNGNG
会社で買ってもらえ(w
0778132人目の素数さんNGNG
Yahooオークションで安いの出てるよ
でもたぶん違法だと思うが
0779132人目の素数さんNGNG
高いねぇ、教員やっていても無茶苦茶高い。しかもバージョンアップが
毎年あって、その価格もとても高い。こんなのを学校で教育に使うという
ことは、MATHEMATICAの会社に貢物をしているようなもので
正気じゃない。卒業生が馬鹿高いソフトを買うように仕込んで協力している
ようなものだよ。そんな金があるのなら、優等な学生に奨学金を出すべきだ。
0780眠いNGNG
残念なことに、知ってる範囲のMathematicaユーザは優等生を兼ねてるね
優等生は金持の息子が多い、生活に余裕がないと自由に勉強する余裕がないからそうなる
0781132人目の素数さんNGNG
貧乏人はフリーのMuPad,maximaを使えってことでつか
Mathematicaを持っているおいらはバージョンアップしないで
古いやつを大事にしまつ
0782132人目の素数さんNGNG
忘れるな、MuPadは無料だが中身はブラックボックスだ。その点Mathematicaと一緒。

それと古いMathematicaのバグや劣ったアルゴリズムは懐で温めても直らんよ。
0783132人目の素数さんNGNG
激しく既出だが、mupadはmathematicaよりmapleの方に近い。
ところで、mathematica4.0を持っているのだが、バージョンアップできるのは
5.0までか?それとも、5.1、5.2まで待てるか?
0784132人目の素数さんNGNG
4.0のupは5.0までだとDMにあったような
0785132人目の素数さんNGNG
オープンソースの数式処理ソフトって何?
0786132人目の素数さんNGNG
東西南北に行けるという2次元ランダムウォークをなんとか自力で組み立てた
んですが、格子のない(今いるところから半径1の円周上に動く)ランダムウォークが
どうしてもつくれないんですけど、どうしたら作れますか?アドバイス下さい。
当方まだmathematicaさわってまだ1ヶ月なもんでさっぱり知識ありません(^^;
自分で調べようにもいきなり学校でやれっていわれたもんなんで参考書すらないのです・・・
参考(?)までに格子のあるランダムウォークの肝心な所を載せます↓
Walk2D[n_] :=
FoldList[Plus, {0, 0}, {{1, 0}, {0, 1}, {0, -1}, {-1, 0}}
[[Table[Random[Integer, {1, 4}], {n}]]]]


いきなり長文&質問すいませんです
0787132人目の素数さんNGNG
>>768
Walk2D[n_Integer] :=
  FoldList[Plus, {0,0},
    {Cos[#], Sin[#]}& /@ Table[Random[Real,{0,2 Pi}], {n}]]

ListPlot[Walk2D[60], PlotJoined->True]
0788786NGNG
>>787
おぉ、すごい!!本当にランダムな角度で動いてますね!!!!
皆さんこんなの朝飯前ぐらいな問題ですか?

どーもありがとうございましたm(_ _)mペコ
0789132人目の素数さんNGNG
教えてつかあさい。

ttp://phong.informatik.uni-leipzig.de/~kuska/mathgl3dv3/
ここにあるMathGL3d for MacOS X
というのを使いたいのですが、
インストールできません

MacOS XのMathematicaはパッケージなんで
サブフォルダに必要なファイルを入れることができないんです
??
0790132人目の素数さんNGNG
>789
拡張子
.app
を取ると、フォルダになります。

それでいいのかわかりませんが
0791132人目の素数さんNGNG
SolveやNSolveなどで複素数の答えがでてしまう式があります。

答えをCases[%, _Real]などで実数の範囲内を出すことができますが、
答えを編集するのではなく
もともとの式の変数の範囲を固定して
計算の高速化なり、入力する式達の簡略化はできるのでしょうか?

速度は不満ではないのですが、少し気になったので。
0792132人目の素数さんNGNG
>789
コントロールキーを押しながら
Mathematicaのアイコンをクリック
■ このスレッドは過去ログ倉庫に格納されています