〓 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/
0357132人目の素数さん
NGNGとりあえず手書きで書いてみるべし
あと、極座標は教科書読めば書いてある
>>356
普通に積分すれば問題なし
0358132人目の素数さん
NGNGMathematicaでグラフ、というかリサージュ図形を描きたいんです。
なんて入力したらいいですかね?
ParametricPlotで自力で何とかしようとしましたが、全然分からんかったっす。
0359132人目の素数さん
NGNG>>278
0360132人目の素数さん
NGNG通常の+の記号から想定される性質(可換)を持たないので
普通の人は別の記号で書くだろうな。
>>352
>>305の----より下をそのままコピペすると正しく{1,1}が表示されるが、
どのようなエラーが出るのか?
>>353
waringと混同するな & してないならエラーメッセージを貼れ。
0361132人目の素数さん
NGNGCos[x/5 - 1] = Cos[1-x/5]
なんだからどっちを積分しようと同じだろ。
0362132人目の素数さん
NGNGPlot[{Sqrt[3 Cos[x]],-Sqrt[3 Cos[x]]},{x,0,Pi/2}]
とか
>>358
ParametricPlot[{Sin[x],Sin[4 x]},{x,0,2 Pi}]
とか
ウルフラムのマニュアルを見れば直ぐにわかるよ。
0363132人目の素数さん
NGNGCos[5 \[Theta]]が負のときrをどうしたいのかわからないので、
Cos[\[Theta]]のことだったとして:
<<Graphics`
f[\[Theta]_] = Sqrt[3 Cos[\[Theta]]];
PolarPlot[{f[t], -f[t]}, {t, 0, 2 Pi/5}]
0364132人目の素数さん
NGNG要するに有る点に置いて0/0が発生するのが問題のようです
値は収束するんだけど、そこをまたいだ積分をやりたい
どうすればいいですかね?
0365132人目の素数さん
NGNG要するに>>329のとおりには実行してないわけだ。
自分で書き換えて、
>>353
> できませんでした…orz
> エラー出まくり…
どんなエラーメッセージも書かず、
どんなプログラムなのかも知らせずに、
>>364
> 要するに有る点に置いて0/0が発生するのが問題のようです
「要するに」で疑わしい要約をして
> 値は収束するんだけど、そこをまたいだ積分をやりたい
「値は収束する」と「そこ」か。一体なんの話なんだろうか。
…エスパー降臨待ちだな。
0366132人目の素数さん
NGNG>>329の通りに変えたのですができませんでした
同じような問題が発生しそうな
NIntegrate[Sin[x]/x, {x, -1, 1}]
も、x=0の点でエラーが出るようです
(Power::"infy" ) "無限式(1/0)が見つかりました.")
"被積分関数\!\(Indeterminate\)は\!\({x}\) = \!\({0}\)では数値でありません."
たとえば今書いた式の場合、どう対処すれば良いのでしょうか?
0367362
NGNGCos が負の部分も描かせたい(複素数として)のなら次のようにする。
f[x_]:=Sqrt[3 Cos[x]]
a=ParametricPlot3D[{{x,Re[f[x]],Im[f[x]]},{x,-Re[f[x]],-Im[f[x]]}},{x,0,Pi/2}]
b=ParametricPlot3D[{{x,Re[f[x]],Im[f[x]]},{x,-Re[f[x]],-Im[f[x]]}},{x,Pi/2,3 Pi/2}]
c=ParametricPlot3D[{{x,Re[f[x]],Im[f[x]]},{x,-Re[f[x]],-Im[f[x]]}},{x,3 Pi/2,2 Pi}]
Show[a,b,c]
プロットの範囲を一挙に {x,0,2 Pi} とすると Cos[x] の正負が反転するところで
勾配が無限大になって誤差が出ます。これは PlotPoints->1000 程度では
誤魔化せないので、上のように部分に分けて描かせました。
0368132人目の素数さん
NGNG特異点(?)の場所を指示して
NIntegrate[Sin[x]/x,{x,-1,0,1}]
あるいは解析解を求めてから数値化する
N[Integrate[Sin[x]/x,{x,-1,1}]]
ではどうでしょうか?
0369132人目の素数さん
NGNG>>329で動かないということは、Mathematicaのバージョンが違うのだろうか。
特異点もどきの場所が正確に特定できるなら>>368の一行目が利用できるが、
そうでないなら、オプションにMethod -> MonteCarloを指定すると
解決するかもしれない。
0370132人目の素数さん
NGNGf[x_] := If[x == 0, 0.0, Sin[x]/x];
NIntegrate[f[x], {x, -1, 1}]
とすれば大丈夫
0371132人目の素数さん
NGNGx -> 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面白いか?
アルゴリズムの都合でちょっと誤差がでただけだろ
(どっちも通常の意味の積分値は同じ)。
誤差が少ないところは流石なのかもしれないが。
0373132人目の素数さん
NGNG0374132人目の素数さん
NGNG0375132人目の素数さん
NGNGf[x_]:=If[x==0,1.0,Sin[x]/x] の間違いでした。すんません。
0376すいません教えてください
NGNG[0,1]でe^xの積分の近似値を求めその値を実際の積分の値と比較せよ。
ってゆうもんだいなんですけどどうやったらいいんですか?誰か教えてくださいませんか??おねがいします
0377132人目の素数さん
NGNG0378すいません教えてください
NGNG0379KingOfKingMathematician ◆H06dYXOYLA
NGNGなくして困っている
0380132人目の素数さん
NGNG0381132人目の素数さん
NGNGContourPlotで行けるんでね?
0382132人目の素数さん
NGNGバーカ、市ね。くたばれ
0383132人目の素数さん
NGNGCos[x/5-1]
]
いじょ
0384132人目の素数さん
NGNG0385132人目の素数さん
NGNG最終的に" ° "で答えが欲しいのですが...
今日体験版を落として、触っているのですが分からなくて・・・
0386132人目の素数さん
NGNG0387385
NGNG0388385
NGNGArcTan(163/217)の答えを出したいのですが
答えも ArcTan(163/217)とでて" ° "で答えが欲しいのですが...
0389132人目の素数さん
NGNG\!\(N[ArcTan[163\/217]\ 180\/π]\)
0390385
NGNG0391132人目の素数さん
NGNG0392132人目の素数さん
NGNG0393132人目の素数さん
NGNG5.0proにup gradeすることに決めました。
そこで聞きたいのですが
今現在パソコンを買い換えたのでmathematica student版が
インストールされていません
こういう場合でもアップグレードできるのでしょうか?
0394132人目の素数さん
NGNG大丈夫。
とりあえずここら辺でも見ておけ。
ttp://www.varsitywave.co.jp/products/mathematica/html/math-upgrade.html
0395132人目の素数さん
NGNGy軸として y={y1,y2,y3,....}
という感じにデータセットがあるんですが(要素数は同じ)、
これを
test = { {x1,y1}, {x2,y2},},....} といった感じのx,yを対応させたリストに
するにはどうしたらいいでしょうか。すべてただの実数です。
どなたかご教示願います・・・。
0396132人目の素数さん
NGNG0397132人目の素数さん
NGNGそれはできますね
マニュアルかヘルプを読みましょうよ
0398132人目の素数さん
NGNG0399132人目の素数さん
NGNGありがとうございました。
簡単にできました。申し訳ないです。
0400132人目の素数さん
NGNG0401132人目の素数さん
NGNGGUIKITが出ています。
公式ホームページから
ライセンスナンバーだけでダウンロードできます。
インストールする場所と
ヘルプファイルの更新をお忘れなく。
0402132人目の素数さん
NGNGCのプログラムで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もしそうでないとしても、固有値の計算は時間がかかる。(少なくとも私の知っているアルゴリズムでは。)
0404132人目の素数さん
NGNG読み込みにではなく、表示に時間がかかっている。
どうしても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人目の素数さん
NGNGCoordinatesFromCartesian[{x, y, z}, Spherical] / Degree HoldForm[Degree]
0407132人目の素数さん
NGNG>>406
ありがとうございます。実行してみました。
返数のうち最初の一つは長さなので、角度である後二つにDegreeを
かけたいのですが、方法はあるのでしょうか。
すいません、初歩的なことで。
0408132人目の素数さん
NGNGすまん。こっちこそ初歩的に間違えた。
CoordinatesFromCartesian[{x, y, z}, Spherical] {1, HoldForm[Degree] / Degree, HoldForm[Degree] / Degree}
# ラジアンに戻す時は
# x = Coord...<snip>
# ReleaseHold[x]
0409132人目の素数さん
NGNG>>408
ありがとうございます。できました。
勉強させていただきます。
0410402
NGNGありがとうございました。それで解決いたしました。
そんなことだっとは盲点でした……。
次のような記事も発見しました。
私の場合ここまでする必要はありませんでしたが、参考までに。
『ReadList: Is it really slow?』
ttp://forums.wolfram.com/mathgroup/archive/2000/Jul/msg00264.html
0411411
NGNG同じ座標内に全て表示するようにしたいんですけど、どうすればいいんでしょうか?
0412132人目の素数さん
NGNGSelectionAnimate か、
表示されたものをマウスで畳んで、
右クリックしてAnimateみたいなメニューを選ぶ。
0413132人目の素数さん
NGNGギリシャ文字はマウスを使ってボックスから選択しないと使えないのでしょうか。
キーボードから入力するショートカットがあれば教えてください。
釣りではないのでよろしく。
0414132人目の素数さん
NGNGぜってー釣りだな
0415132人目の素数さん
NGNG\[CapitalAlpha]
\[Alpha]
<Esc>Alpha<Esc>
<Esc>alpha<Esc>
0416FeaturesOfTheGod ◆UdoWOLrsDM
NGNG0417411
NGNGそれでShowをつかって複数のグラフィックスを同一座標内に表示したように
グラフィックスを重ねて表示する事ができるんでしょうか?
もうちょっと具体的に教えてくれるとうれしいんですけど・・
0418132人目の素数さん
NGNG例えば、ドラえもんとかドラゴンボールとか…
0419FeaturesOfTheGod ◆UdoWOLrsDM
NGNG0420132人目の素数さん
NGNGアニメーションがしたいわけではなくて、単に重ねたいのなら
最初からShowか元のPlotなどで重ねろ。
Animatieの出力を利用するのはNotebook操作系の関数を使えば
できないことはないが、二階から目薬。
0421411
NGNG二回から目薬とは??
どのようなNotebook操作系の関数を利用すればできますか?
0422132人目の素数さん
NGNG0423132人目の素数さん
NGNG0424411
NGNG0425132人目の素数さん
NGNG{(b-f+b*X^2)*e}/{X*(d+d*X^2+e)}==0,X
0426132人目の素数さん
NGNG0427132人目の素数さん
NGNG0428132人目の素数さん
NGNG0429132人目の素数さん
NGNG0430132人目の素数さん
NGNGというか割り当ての方法をどなたかご存じないですか?
例えば
コントロール+k
を行末までの文字の削除に当てるとか。
0431132人目の素数さん
NGNGなんか大きなことやろうとすれば、matlab 使うなー。
mathematicaは言語の外見が汚なすぎ。
てかセンス悪いよな、Wolframは
0432132人目の素数さん
NGNG0433FeaturesOfTheGod ◆UdoWOLrsDM
NGNGそもそも、mathematicaは研究のためにある。
0434132人目の素数さん
NGNG0435FeaturesOfTheGod ◆UdoWOLrsDM
NGNG0436132人目の素数さん
NGNG>mathematicaは言語の外見が汚なすぎ。
>てかセンス悪いよな、Wolframは
そこはかなり同意する
0437132人目の素数さん
NGNGある程度のプログラムを組めるというのを両立させようとするから
ああいうことになるんだよな。
0438132人目の素数さん
NGNGそうですね。mathematicaは開発者が多いからグラフィックスやGUIだけが
他のソフトより良いだけであって、Wolfram本人もキモいし、言語もキモいし、
やたらプログラミングに時間がかかるだけですね。
もうmathematicaは逝ってよしだと思いました
0439132人目の素数さん
NGNGがんばってください。キモっ!
0440132人目の素数さん
NGNGRubyとかは特にね。
matlab言語も(・∀・)イイ!!よ
0441132人目の素数さん
NGNGMATHEMATICA撲滅しよーぜ
0442132人目の素数さん
NGNGMathematica氏ね。
0443132人目の素数さん
NGNG0444132人目の素数さん
NGNGどうやったら元の関数として機能してくれるの?
0445FeaturesOfTheGod ◆UdoWOLrsDM
NGNG0446FeaturesOfTheGod ◆UdoWOLrsDM
NGNG0447132人目の素数さん
NGNG評価の仕組み上無理だったと思います。
どうしてもというなら、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人目の素数さん
NGNGTable[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人目の素数さん
NGNGCoordinatesFromCartesian[{{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あうう…
「評価」じゃなかったのですね。
思いこみであちこちにEvaluateつけて考えあぐねておりました
Thanks a lot!
0452132人目の素数さん
NGNGMathematicaでの数値計算の精度は機械精度以上には上げることが出来ないでしょうか。
$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人目の素数さん
NGNGSqrt[2 - 0.1]の結果の数値を精度100桁にするというのと、
(2. - 0.1)の結果の数値を精度100桁としてからSqrtをとるのとは
全く別のことですが。
もちろんどちらもN[Sqrt[2 - 1/10], 100]とは異なりますね。
0454132人目の素数さん
NGNG0455132人目の素数さん
NGNG0456132人目の素数さん
NGNGひょっとして 0.1と1/10が同じと思っていませんか?
■ このスレッドは過去ログ倉庫に格納されています