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

〓 Mathematica 2 〓

■ このスレッドは過去ログ倉庫に格納されています
0001132人目の素数さんNGNG
        _....._{{ 〃
      , - ' ,..、、.ヾ{{フ'⌒`ヽ、
    /  ,:', -‐‐` ´ '´⌒ヽ ヾ:、
.   ,'   ,'´ ,ィ ,ィ ,' ,   `ヽ',  ',-<
    ,'   .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/
0369132人目の素数さんNGNG
>>366
>>329で動かないということは、Mathematicaのバージョンが違うのだろうか。

特異点もどきの場所が正確に特定できるなら>>368の一行目が利用できるが、
そうでないなら、オプションにMethod -> MonteCarloを指定すると
解決するかもしれない。
0370132人目の素数さんNGNG
>>366
f[x_] := If[x == 0, 0.0, Sin[x]/x];
NIntegrate[f[x], {x, -1, 1}]
とすれば大丈夫

0371132人目の素数さんNGNG
>>370
x -> 0 で Sin[x]/x -> 1 だから、
g[x_]:=If[x==0,1.0,Sin[x]/x]
としてみると
f[x_]:=If[x==0,0.0,Sin[x]/x]
の積分と僅かに違います
 
正しいグループは
N[Integrate[Sin[x]/x,{x,-1,1}]]
NIntegrate[g[x],{x,-1,1}]

別なグループは
NIntegrate[Sin[x]/x,{-1,0,1}]
NIntegrate[f[x],{x,-1,1}]

でグループ間の差は 2.2*10^(-16) でした。
  
面白いですね。
0372132人目の素数さんNGNG
>>371
面白いか?
アルゴリズムの都合でちょっと誤差がでただけだろ
(どっちも通常の意味の積分値は同じ)。
誤差が少ないところは流石なのかもしれないが。
0373132人目の素数さんNGNG
ちょっと調べれば解るような学校の宿題をここで質問するのはやめてくれないか?
0374132人目の素数さんNGNG
Mathematicaで地図の等高線を作ることはできるの?(色付き、茶色、緑とか)
0375132人目の素数さんNGNG
>>370 ミステイク 
f[x_]:=If[x==0,1.0,Sin[x]/x] の間違いでした。すんません。
0376すいません教えてくださいNGNG
モンテカルロ法により、
[0,1]でe^xの積分の近似値を求めその値を実際の積分の値と比較せよ。
ってゆうもんだいなんですけどどうやったらいいんですか?誰か教えてくださいませんか??おねがいします
0377132人目の素数さんNGNG
先生と友達に聞いたらいいと思うよ
0378すいません教えてくださいNGNG
友達もわかんないんですよ
0379KingOfKingMathematician ◆H06dYXOYLA NGNG
ver4.0のシリアル教えろ
なくして困っている
0380132人目の素数さんNGNG
5.0買え
0381132人目の素数さんNGNG
>>374
ContourPlotで行けるんでね?
0382132人目の素数さんNGNG
>>379
バーカ、市ね。くたばれ
0383132人目の素数さんNGNG
TraditionalForm[
Cos[x/5-1]
]

いじょ
0384132人目の素数さんNGNG
\!\(TraditionalForm[Cos[x\^2 + x/5 - 1]]\)
0385132人目の素数さんNGNG
ArcTan(163/217)でArcTanを求めるにはどのようにすればいいのでしょうか?
最終的に" ° "で答えが欲しいのですが...
今日体験版を落として、触っているのですが分からなくて・・・
0386132人目の素数さんNGNG
電卓で計算
0387385NGNG
簡素化して書いているので実際はもう少し複雑で代入を繰り返さなければならないのでなんとか教えて頂けないでしょうか・・・
0388385NGNG
すみません、間違ってました。
ArcTan(163/217)の答えを出したいのですが
答えも ArcTan(163/217)とでて" ° "で答えが欲しいのですが...
0389132人目の素数さんNGNG
>>338
\!\(N[ArcTan[163\/217]\ 180\/π]\)
0390385NGNG
本当に助かりました!どうもありがとうございましたm(_ _)m
0391132人目の素数さんNGNG
おれはN[]よりも//Nの方を良く使うな
0392132人目の素数さんNGNG
461
0393132人目の素数さんNGNG
mathematica student 4.1を使っていたのですが今年の3月で卒業になったので、
5.0proにup gradeすることに決めました。

そこで聞きたいのですが
今現在パソコンを買い換えたのでmathematica student版が
インストールされていません
こういう場合でもアップグレードできるのでしょうか?
0394132人目の素数さんNGNG
>>393
大丈夫。
とりあえずここら辺でも見ておけ。

ttp://www.varsitywave.co.jp/products/mathematica/html/math-upgrade.html
0395132人目の素数さんNGNG
x軸として x={x1,x2,x3,...}
y軸として y={y1,y2,y3,....}
という感じにデータセットがあるんですが(要素数は同じ)、
これを
test = { {x1,y1}, {x2,y2},},....} といった感じのx,yを対応させたリストに
するにはどうしたらいいでしょうか。すべてただの実数です。
どなたかご教示願います・・・。
0396132人目の素数さんNGNG
254
0397132人目の素数さんNGNG
>395
それはできますね
マニュアルかヘルプを読みましょうよ
0398132人目の素数さんNGNG
transpose
0399132人目の素数さんNGNG
>>397,398
ありがとうございました。
簡単にできました。申し訳ないです。
0400132人目の素数さんNGNG
400
0401132人目の素数さんNGNG
Ver5を持っている人へ
GUIKITが出ています。
公式ホームページから
ライセンスナンバーだけでダウンロードできます。


インストールする場所と
ヘルプファイルの更新をお忘れなく。
0402132人目の素数さんNGNG
NxNのでっかい対称行列の固有値を求めたいのですが、

Cのプログラムでmatrix.txtと
1.0 1.1 1.2 ... ←N個
1.1 2.0 1.3 ... ←N個
...
↑N個
の形式でN行で出力させてから

ReadList["matrix.txt",Number,RecordLists->True]
Eigenvalues[%]

とMathematicaに読み込ませて固有値を計算させようとしています。

Nが200位になるとファイルの読み込みで非常に時間がかかってしまい、
必要としているN=1000程度だと2日ほど放置しましたが読み込みが完了しません。

固有値の計算で時間がかかるのならわかる気がするんですが、
ファイルの読み込みの段階で時間がかかるのが納得いきません。
これは仕様で仕方ないのでしょうか?
それとも私の読み込ませ方に問題があるのでしょうか?
計算機はXeonの2GDualメモリ1G(だったかな…)
VineLinuxでMathematicaのVersionは4.2.1.0です

突然研究で固有値を求めることになったMathematica超初心者ですが、
ご教授いただければと思います。゜゜(´□`。)°゜。
0403FeaturesOfTheGod ◆UdoWOLrsDM NGNG
Re:>402 私はよく分からないけど、読み込みを何回も行っているのではないだろうか?
もしそうでないとしても、固有値の計算は時間がかかる。(少なくとも私の知っているアルゴリズムでは。)
0404132人目の素数さんNGNG
>>402
読み込みにではなく、表示に時間がかかっている。
どうしても1000*1000の行列を眺めたいのでなければ

  ReadList["matrix.txt",Number,RecordLists->True];
  Eigenvalues[%]

とするといいだろう。
0405132人目の素数さんNGNG
デカルト座標から極座標に変換するように、下記のようにしたんですが
この角度のパラメータをラジアン表記でなく度数表記で一発出力させる
ためには、どういじればいいのでしょうか。

<< Calculus`VectorAnalysis`
SetCoordinates[Cartesian[x, y, z]];
x = 1.;
y = 1.;
z = 1.;
CoordinatesFromCartesian[{x, y, z}, Spherical]
0406132人目の素数さんNGNG
>>405
CoordinatesFromCartesian[{x, y, z}, Spherical] / Degree HoldForm[Degree]
0407132人目の素数さんNGNG
405です
>>406
ありがとうございます。実行してみました。
返数のうち最初の一つは長さなので、角度である後二つにDegreeを
かけたいのですが、方法はあるのでしょうか。
すいません、初歩的なことで。
0408132人目の素数さんNGNG
>>407
すまん。こっちこそ初歩的に間違えた。
CoordinatesFromCartesian[{x, y, z}, Spherical]  {1, HoldForm[Degree] / Degree, HoldForm[Degree] / Degree}

# ラジアンに戻す時は
# x = Coord...<snip>
# ReleaseHold[x]
0409132人目の素数さんNGNG
405
>>408
ありがとうございます。できました。
勉強させていただきます。
0410402NGNG
>>404
ありがとうございました。それで解決いたしました。
そんなことだっとは盲点でした……。
次のような記事も発見しました。
私の場合ここまでする必要はありませんでしたが、参考までに。

『ReadList: Is it really slow?』
ttp://forums.wolfram.com/mathgroup/archive/2000/Jul/msg00264.html
0411411NGNG
Animate[]やFor[]で生成される複数の3Dグラフィックスを
同じ座標内に全て表示するようにしたいんですけど、どうすればいいんでしょうか?
0412132人目の素数さんNGNG
>>411
SelectionAnimate か、
表示されたものをマウスで畳んで、
右クリックしてAnimateみたいなメニューを選ぶ。
0413132人目の素数さんNGNG
馬鹿な質問ですが、
ギリシャ文字はマウスを使ってボックスから選択しないと使えないのでしょうか。
キーボードから入力するショートカットがあれば教えてください。
釣りではないのでよろしく。
0414132人目の素数さんNGNG
>>413
ぜってー釣りだな
0415132人目の素数さんNGNG
>>413
\[CapitalAlpha]
\[Alpha]
<Esc>Alpha<Esc>
<Esc>alpha<Esc>
0416FeaturesOfTheGod ◆UdoWOLrsDM NGNG
Re:>415 何故もっと簡単な方法を教えてやらぬのだ?(私もだ。)
0417411NGNG
>>412
それでShowをつかって複数のグラフィックスを同一座標内に表示したように
グラフィックスを重ねて表示する事ができるんでしょうか?
もうちょっと具体的に教えてくれるとうれしいんですけど・・
0418132人目の素数さんNGNG
絵を描きたいんですが、何かいい物ありませんか?
例えば、ドラえもんとかドラゴンボールとか…
0419FeaturesOfTheGod ◆UdoWOLrsDM NGNG
Re:>418 図形をたくさん組み合わせる。楕円、長方形、線分、その他いろいろある。
0420132人目の素数さんNGNG
>>412
アニメーションがしたいわけではなくて、単に重ねたいのなら
最初からShowか元のPlotなどで重ねろ。
Animatieの出力を利用するのはNotebook操作系の関数を使えば
できないことはないが、二階から目薬。
0421411NGNG
>>420
二回から目薬とは??
どのようなNotebook操作系の関数を利用すればできますか?
0422132人目の素数さんNGNG
有名な諺
0423132人目の素数さんNGNG
224
0424411NGNG
Mathematicaで4次元グラフィックスが比較的簡単に書けるようなパッケージありますか?
0425132人目の素数さんNGNG
{-X*a*(1+X^2)(d+d*X^2+e)}/(b-f+b*X^2)+X*(c-f)+X^3*c+
{(b-f+b*X^2)*e}/{X*(d+d*X^2+e)}==0,X
0426132人目の素数さんNGNG
誰か解いてください。お願いします。
0427132人目の素数さんNGNG
Mathematicaで解いたら?
0428132人目の素数さんNGNG
今、Mathematicaがないから解いてと頼んでいます。
0429132人目の素数さんNGNG
552
0430132人目の素数さんNGNG
ノートブックを編集中のキーバインディングを変える方法
というか割り当ての方法をどなたかご存じないですか?
例えば
コントロール+k
を行末までの文字の削除に当てるとか。
0431132人目の素数さんNGNG
mathematicaはちょっとした計算に向くけど、
なんか大きなことやろうとすれば、matlab 使うなー。

mathematicaは言語の外見が汚なすぎ。
てかセンス悪いよな、Wolframは
0432132人目の素数さんNGNG
mathematica での開発は効率が悪すぎ
0433FeaturesOfTheGod ◆UdoWOLrsDM NGNG
Re:>432
そもそも、mathematicaは研究のためにある。
0434132人目の素数さんNGNG
そもそもFeaturesOfTheGod ◆UdoWOLrsDM は馬鹿にされるためにある。
0435FeaturesOfTheGod ◆UdoWOLrsDM NGNG
Re:>434 馬鹿にされるのはお前だけで十分。
0436132人目の素数さんNGNG
>>431
>mathematicaは言語の外見が汚なすぎ。
>てかセンス悪いよな、Wolframは

そこはかなり同意する
0437132人目の素数さんNGNG
コマンドラインで手軽に計算できるというのと、制御構文使って
ある程度のプログラムを組めるというのを両立させようとするから
ああいうことになるんだよな。
0438132人目の素数さんNGNG
>>437
そうですね。mathematicaは開発者が多いからグラフィックスやGUIだけが
他のソフトより良いだけであって、Wolfram本人もキモいし、言語もキモいし、
やたらプログラミングに時間がかかるだけですね。

もうmathematicaは逝ってよしだと思いました
0439132人目の素数さんNGNG
mathematica使いはWolframのように若ハゲしそうですね。
がんばってください。キモっ!
0440132人目の素数さんNGNG
ところで、「制御構文使って・・・」の言語はいくつも存在しますよ。
Rubyとかは特にね。
matlab言語も(・∀・)イイ!!よ
0441132人目の素数さんNGNG

MATHEMATICA撲滅しよーぜ
0442132人目の素数さんNGNG
























Mathematica氏ね。
0443132人目の素数さんNGNG
987
0444132人目の素数さんNGNG
mathmaticaで例えばSinを変数名として使っちゃた場合とか
どうやったら元の関数として機能してくれるの?
0445FeaturesOfTheGod ◆UdoWOLrsDM NGNG
Re:>444 Sinをどうやって変数名に使うのだ?protected属性を外した?
0446FeaturesOfTheGod ◆UdoWOLrsDM NGNG
Re:>444 protectedじゃなくて、Protectedね。とりあえず、Sin[Pi]などで正常に値が出るなら大丈夫だと思うけど。
0447132人目の素数さんNGNG
>>444
評価の仕組み上無理だったと思います。
どうしてもというなら、Symbol["Sin"]でもどうぞ。
Func[Sin_] := {Sin, Symbol["Sin"][Sin]}
Func[3.0]

# /* Example.c */
# int x = 3
# f(int x) { return x; }
# /* さて、f(3)の返り値は? */

>>446
そういう場合にはちゃんとDefinitionやFullDefinitionを使いましょう。
# 前身時代からなんで知識があるわけでもないのに考えずに適当なこと
# ばかりこたえるかな。
0448132人目の素数さんNGNG
グーグルで検索していてここにたどり着きました。
>>405-408
のプログラムを利用させてもらっています。
これに改良を加え座標を方程式で出してその値を極座標に変換できるように
しようと試みたのですがうまくいきません。
次のようにしてみました。

<< Calculus`VectorAnalysis`

Solve[{x + y + z == 1,
  x - y + z == 3,
x + y - z == 5},
{x, y, z}]

CoordinatesFromCartesian[{x, y, z} /. %, Spherical] {1,
HoldForm[Degree]/Degree, HoldForm[Degree]/Degree}

返数は
CoordinatesFromCartesian[{{4, -1, -2}}, Spherical]
(以下同じような感じで二つ返ってきてしまいます。)
どうもただ式のx, y, zに方程式の解が代入されただけの感じのものです。

どうすれば成功するのでしょうか。アドバイスもらえないでしょうか。
0449132人目の素数さんNGNG
どうも「評価」というのがわからない。
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}
となるだけ。
なんでなのでしょうか。
0450132人目の素数さんNGNG
>>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
と入力すると何がおこるでしょう?
0451132人目の素数さんNGNG
>>450
あうう…
「評価」じゃなかったのですね。
思いこみであちこちにEvaluateつけて考えあぐねておりました

Thanks a lot!
0452132人目の素数さんNGNG
見当違いのことをしているのかもしれませんが、教えてください。
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の使い方がまずいのでしょうか。
0453132人目の素数さんNGNG
>>452
Sqrt[2 - 0.1]の結果の数値を精度100桁にするというのと、
(2. - 0.1)の結果の数値を精度100桁としてからSqrtをとるのとは
全く別のことですが。
もちろんどちらもN[Sqrt[2 - 1/10], 100]とは異なりますね。
0454132人目の素数さんNGNG
709
0455132人目の素数さんNGNG
455
0456132人目の素数さんNGNG
>>452
ひょっとして 0.1と1/10が同じと思っていませんか?
0457132人目の素数さんNGNG
>>456
一緒と考えておりました...
これで納得できました。ありがとうございました。
0458132人目の素数さんNGNG
マスマティカはお腹が一杯になりまつか?
0459132人目の素数さんNGNG
ある分布に従う乱数を発生させて標本平均値を求めたいのですが、
発生させた乱数のリストから任意の数をランダム抽出するにはどうしたらいいでしょうか?
0460132人目の素数さんNGNG
>>459
乱数から「ランダム抽出」って意味が無いだろ。
Table[YourRandomFunction[], {i, 10}]
とでもすればいいんじゃないか?
0461Not, used with SelectNGNG
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 というのを使いました.もっとマシな方法あれば知りたし.
0462132人目の素数さんNGNG
>>461
! PrimeQはNot[PrimeQ]ですね。
Not[PrimeQ][x]とNot[PrimeQ[x]]は違いますね。
Not[PrimeQ[#]]& か Composition[Not, PrimeQ]を使ってください。

!MemberQなんてものをいったいどう使ったのか興味津津です。
0463Not, used with Select (unresolved)NGNG
>>462
>!PrimeQはNot[PrimeQ]ですね。

0-1逆の特性関数を作るわけではないようですね.
普通の関数が否定できないのは分かるが,述語関数は否定できてもまずくなさそうに思えますが.

>Not[PrimeQ][x]とNot[PrimeQ[x]]は違いますね。

前者は意味をなさないということなんですかね.
[ところで同じ意味をなさない物でも,
! PrimeQ[3]だと何も出ないが(! PrimeQ[3])だと False と出るのは,
前者は括弧の位置が曖昧だが,後者は(! PrimeQ)[3]ではないと見なされる
ということなのだろうか.一番外側に括弧がつくだけで差が出るのは妙だが.]

>Not[PrimeQ[#]]&かComposition[Not,PrimeQ]を使ってください。

ありがとうございました.続く.
0464Not, used with Select (unresolved)NGNG
ところが本来の目標の方なんですが,
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}を出しました.
0465132人目の素数さんNGNG
>>463
> ! PrimeQ[3]だと何も出ないが(! PrimeQ[3])だと False と出るのは,
!が「行の先頭」に来た時はshellでのコマンド実行を意味する。

> 等しくなる可能性があるから a=b, a=c などは False と言えないということでしょうか.
そのとおり。===を使えばいい。

> Select[{b, a, d, c, e}, ! MemberQ[{c}, #] &]でも
それはあたりまえだね。
偶然、Not[MemberQ[ ]]& という形で使っていたわけだ。
0466sageNGNG
From Not, used with Select (unresolved)

>>465

行けそうです.ありがとうございました.
===は初耳でした(Mathematica 使い始めてまだ2週間くらいなもので)ので,
その周辺のコマンドを勉強しておきます.
0467132人目の素数さんNGNG
323
0468132人目の素数さんNGNG
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}
といった具合にやらせてみたんですが、これだと真っ黒で見た目が非常に悪いんです。
色を使って高さを表すにはどうしたらよろしいでしょうか?
どなたかアドバイスお願いします。
■ このスレッドは過去ログ倉庫に格納されています