トップページ⇒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/
0652132人目の素数さんNGNG
例えば、{{10,3},{11,2},{13,0}}のようなリストから
最初の要素が一番大きい組を取り出す(この場合は{13,0})
方法はあるのでしょうか?
Maxを使えば13となりますが、{13,0}という形で取り出したいのです。
もしよろしければ教えてください。
0653132人目の素数さんNGNG
5.1 は、結構いろんな機能が入ってるな。v4->v5の時よりも
変化が大きいんじゃない?

この機能が楽しそうだなと思ったり。
http://www.wolfram.com/products/mathematica/newin51/equationtrekker.html
0654132人目の素数さんNGNG
>>652
最大数が複数個ある場合を考慮に入れるなら

f[mlist_] := Select[#, Function[x, Part[x, 1] >= Part[#, 1, 1]]] &[Sort[mlist, Part[#2, 1] < Part[#1, 1] &]]

とし、一つだけでならば

f[mlist_]:=Part[Sort[mlist, Part[#2, 1] < Part[#1, 1] &], 1]

仕組みは簡単で、各セルの左側の値で大きい順にソートして最も大きいものを選ぶだけ。
純関数を使っているから見にくいが、やっていること自体は単純。
0655132人目の素数さんNGNG
>>651
5.1はWinでは x86版、 Linuxでは x86版、x86-64bit版(athlon64)、Itanium版が探せばある。
0656132人目の素数さんNGNG
>>654
ありがとうございます。まだ使い始めて日が浅いので。
こうやればいいんですね。よく考えてみると単純ですね。
0657132人目の素数さんNGNG
>>646
どなたかご教授願います。
0658132人目の素数さんNGNG
age
0659132人目の素数さんNGNG
>>657
test1 = ContourPlot[(x - 2 y + 2) (4 x -
y - 4), {x, -10, 10}, {y, -10, 10}, Contours -> 15, PlotRange -> {-300,
100}, ColorFunction -> (Hue[# Log[1 + #]] &), PlotPoints -> 200,
AspectRatio -> Automatic]
test2 = ParametricPlot[{Sqrt[2] Sin[t], 2 Cos[
t]}, {t, 0, 2Pi}, PlotRange -> {{-10, 10}, {-10, 10}},
AspectRatio -> Automatic]
Show[test1, test2]
0660132人目の素数さんNGNG
395
0661132人目の素数さんNGNG
>>657
xご教授 o御教示

mathよりjapaneseやれよw
0662132人目の素数さんNGNG
本年初カキコ。
0663132人目の素数さんNGNG
>>659
ありがとうございます。
Show[test1,test2]で表された図を印刷したいんですが、図だけをコピーすることはできないでしょうか。
枠線が邪魔なんです。

>>661
_| ̄|○
0664132人目の素数さんNGNG
mathematica for linux
を中古で安く譲ってくれる方はいますか?

もし合法でないなら無視して下さい。
合法的に安く入手したいだけですので。

0665132人目の素数さんNGNG
放送大学入学して、アカデミック(?)が一番安いのかな・・・。
仕事で使うのならまずいけど。
0666132人目の素数さんNGNG
>>664
へんなシト。 英語版ならクレカを持っていれば、ダウソ版が1880ドルで買える。 これが
一番安いと思う。 Mathematicaは業務用ソフトではないし、値段はこんなものか。
日本語版は確か35万くらいする。
0667132人目の素数さんNGNG
mathomaticaというものを見つけました。
gnuです。mathematicaとの互換性は?
0668132人目の素数さんNGNG
別のソフト
0669132人目の素数さんNGNG
ざんねんん。ですね。
Mathematica恐怖症になってしまった。
やる気がおきない。
0670132人目の素数さんNGNG
age
0671132人目の素数さんNGNG
オークションサイトを探すとか
0672132人目の素数さんNGNG
18xy-x^3-y^3=0
のグラフの輪っかになってる部分の面積を求めたいんですが、どうしたらよいでしょうか
0673132人目の素数さんNGNG
高校の数学の教科書があるなら、是非見て下さい。数IIICのどっちかで理解出来ると思う。

グラフはこれで見れるね。
<< Graphics`ImplicitPlot`
ImplicitPlot[18x y - x^3 - y^3 == 0, {x, -10, 10}]

で、面積は、
18 x y - x^3 - y^3 < 0
の範囲であることは分かりますか?
0674673NGNG
陰関数の積分の方法を忘れてしまった_| ̄|○

Sin[x]やCos[x]を使うんだっけ…
0675132人目の素数さんNGNG
>>673
>0 の間違いでは?

>>674
version5以降なら、↓で計算できる。でも、式の簡略化に失敗してるなあ。

<< Calculus`Integration`
Integrate[Boole[18 x y - x^3 - y^3 > 0], {x, 0, 10}, {y, 0, 10}]
0676673NGNG
>>675
訂正サンクス、やり直さなきゃいけないのは自分の方だった。

N[Integrate[Boole[18 x y - x^3 - y^3 > 0], {x, 0, 10}, {y, 0, 10}] ]
で値がでましたね。

54.
0677132人目の素数さんNGNG
ParametricPlot

Is there such function in the Mathematica?
0678132人目の素数さんNGNG
なんとか2万円くらいにまからんか?
0679132人目の素数さんNGNG
>>677
Yes, there is.

such as "ParametricPlot"

ParametricPlot[ { Sin[t],Cos[t] } , { t, 0, 2Pi } ];

It makes the unit circle (sin^2 + cos ^2 = 1)

>>678
学校の研究室で買って貰え。
0680132人目の素数さんNGNG
>>679

thnx
0681132人目の素数さんNGNG
>>678
学生だったらスチューデント版がたしかそんなもんじゃね?
0682132人目の素数さんNGNG
マセマティカにやらせて久しぶりにまともな計算結果を得た

やっとやっと

なんでもやらせようとするから駄目なんだな。
0683132人目の素数さんNGNG
「ぱすじぇね」で出るパスは英語モード用だけど、
日本語モード用のぱすじぇねは無いのかな・・・

今Ver5.1最新版を英語モードで使っているのだが、
そのパスでは当然日本語モードへ出来ない。
少しでも日本語環境へ近づけるため、
プログラム本体の到る所にあるJapaneseフォルダーを
Englishフォルダーへコピーさせる荒業を試みたけど、
入力パッド画面・ヘルプ(中身のみ)は日本語化出来た
けど他はダメでした。
肝心の本体をどうすれば日本語に出来るのか・・・
0684132人目の素数さんNGNG
マセマティカ4で計算や表示できる関数が
マセマティカ5【日本語版】になると
きかいせいどがどうのこうのとかIntegrandがどうのおうの
とかうだうだいってきて、
あげくに計算しない。あほか。今度暇なときに
ボッフラムに文句をいうてやるわ。30万円近くしたのに。・・・・
0685132人目の素数さん05/01/17 16:03:54
mathlinkを使って、計算部分をmathematicaからCの実行ファイルに渡して計算させて、
結果をmathematicaに戻すという事をやりたいんですが、

Cソースファイルのコンパイルの部分でつまづいています・・・。

私の環境はWindowsXP、Mathematica4.1、MicrosoftVisualC++5.0です。

�@ウルフラムリサーチ
http://support.wolfram.co.jp/mathematica/mathlink/updates/mldk.html
からWindows用のMathLinkデベロッパキットを持ってくる。

�AFiles\CompilerAdditions\mldev32以下のファイルを
C:\Program Files\DevStudio\VC
以下にコピペ.。

�Bコマンドプロンプトから
〜〜/mprep f.tm -o f.c
と実行する。

というところまでやって、出来たf.cをVisualC++でコンパイルは出来るんですが、
ビルドをしようとすると
f.obj : error LNK2001: 外部シンボル "_MLPutInteger@8" は未解決です
f.obj : error LNK2001: 外部シンボル "_MLPutFunction@12" は未解決です
f.obj : error LNK2001: 外部シンボル "_MLNewPacket@4" は未解決です
・
・
・

というエラーが出て実行ファイルが作れません。
CのソースファイルはMathematicaブックの2.12.3にあるものをそのまま使ってます。
やり方がわかるひと教えてください。
068668505/01/17 23:08:33
1 マイクロソフト開発者スタジオを始動します。

2 Fileメニューから、Newを選びます。

3 New箱の中では、Projectsタブをクリックします。

4 位置には、MathLinkExamplesのあるフォルダをタイプします。

5 Project Nameテキストボックスに、名前ADDTWOをタイプします。

6 Projectから、Win32 Applicationを選択します。

7 Win32が選択されると確認します。

8 OKボタンをクリックします。

9 ProjectメニューのProjectへ追加サブメニューから、Filesを選びます。

10 「MathLinkExamples」というディレクトリの中の"addtwo"ディレクトリを選択
068768505/01/17 23:09:52
11 File Name textboxに、ファイル名addtwo.cをタイプします。

12 OKボタンをクリックします。

13 二度ステップ9〜12を繰り返してください: 一回目のファイル名addtwo.tm、2回目のファイル名addtwotm.cとする。

14 クリック、はい、"addtwotm.c"の参照を加える確認するボタン。

15 ProjectメニューのProjectへ追加サブメニューから、Filesをもう一度選びます。

16 今回はファイル名C:\Program Files\DevStudio\VC\lib\ml32i2m.lib。

17 OKボタンをクリックします。

18 Projectメニューから、設定を選びます。

19 Custom Buildタブをクリックします。

20 左の設定リストの中の、ADDTWOフォルダーアイコンを広げます。
068868505/01/17 23:10:31
21 "addtwo.tm"というファイルを選択します。

22 説明に、「mprepingなど」の注意をタイプしてください…

23 Build Commandsリストの中では、最初の空白のエントリーをクリックしてください、そ
して、タイプする: mprep addtwo.tm-o addtwotm.c

24 Output Filesリストの中では、最初の空白のエントリーをクリックしてください、そし
て、タイプする: . \addtwotm.c

25 OKボタンをクリックします。

26 Buildメニューから、Build ADDTWO.EXEを選びます。
068968505/01/17 23:11:35
685の�Bは無視してください。

その後色々調べて
�@と�Aの後に
↑
の手順に従ってビルドを試みてみました。

その結果
--------------------構成: ADDTWO - Win32 Debug--------------------
カスタム ビルドを実行中
コンパイル中...
addtwo.c
addtwotm.c
リンク中...
..\..\..\..\..\..\..\..\..\DevStudio\VC\lib\ml32i2m.lib : fatal error LNK1106: ファイルが無効であるか、 またはディスクがいっぱいです: 0x3ee7a0e7 にシークできません
link.exe の実行エラー

ADDTWO.exe - エラー 1、警告 0

というエラーが出てしまいます。
原因が分かる方いませんでしょうか・・・。
069068505/01/18 12:27:55
いろいろやってはみたけれど、結局原因が分からなかったので
Microsoft Visual C++を5.0から6.0にしてやってみました。
先に結果を書くとうまくいきました。

上に書いた手順は5.0用なので6.0では少し手順が変わります。
MathLinkデベロッパキットの
Files\Documentation\English
に5.0、6.0共に詳しいやり方が乗っているので見てみるといいかも。

後でMathlinkを使う人のために私の環境と出来た場合と出来なかった場合について書いておきます。
駄目な環境:WinXPSP2 MicrosoftVisualC++5.0 Mathematica4.1
駄目な手順(原因は不明)
�@ウルフラムリサーチ
http://support.wolfram.co.jp/mathematica/mathlink/updates/mldk.html
からWindows用のMathLinkデベロッパキットを持ってくる。

�AFiles\CompilerAdditions\mldev32以下のファイルを
C:\Program Files\DevStudio\VC
以下にコピペ.。

�B>>686-688の手順でビルト失敗。
上にも書いたけど>>686-688の手順はMathLinkデベロッパキットの
Files\Documentation\English
に載ってる。
069168505/01/18 12:28:57
良かった環境:WinXPSP2 MicrosoftVisualC++6.0 Mathematica4.1
良かった手順
�@上と同じ

�AFiles\CompilerAdditions\mldev32以下のファイルを
C:\Program Files\Microsoft Visual Studio\VC98
以下にコピペ。

�Bデベロッパキットに載っている6.0の手順に従ってビルト成功。
0692132人目の素数さん05/01/18 13:29:46
おめでとう + グッジョブ!
0693132人目の素数さん05/01/19 02:06:52
Mathematicaでのsubroutine命令Module、Blockの相違点や長短を表と例で示せと
課題であるのですが、まったくわかりません。(ちなみに私は、学校の実験程度で
やっているだけなので)
0694132人目の素数さん05/01/19 04:05:29
BlockとModuleではスコープにおける名前解決の仕方が異なる。

Moduleの中で宣言された変数は、Moduleのスコープ内のみで有効でその外に
名前解決がされることはない。

一方、Blockの場合は、スコープ内でのみ有効な値を取ることも出来、名前解決が
スコープ内で出来ない場合はスコープの外に(例えば、グローバル・スコープに)
名前解決を求めることが出来る。

スコープとはMathematicaで言えば、Module[], Block[] の[]の中や
グローバル・セッションを指す。
変数とはポインタのことで、ポインタは何かオブジェクトを指している。
オブジェクトとは、この場合、整数、浮動小数点数、式、etc。
Mathematicaは実行中、Global Scope(global session)を含む各スコープで
ポインタとオブジェクトの表を持っている。 式の評価中にポインタの
lookupが必要になったとき、Moduleではその評価式のあるスコープの表のみ
を探す。 一方、Blockではそのスコープの表で何らかのオブジェクトを
指していなければ、そのBlock式を評価しているスコープの表でlookupを
行う。

Blockの長所は便利であること。短所は、注意しないと思わぬ結果を招くことが
挙げられる。 インタラクティブなモードで式を評価するときには良い。
Moduleはライブラリなどを書くときに、外のスコープの値によって結果が
異なることを避けることが出来る。
0695132人目の素数さん05/01/20 16:22:55
5.0から5.1にしてみた。
違いがまだほとんどわからないけど、計算がわずかに早くなったような気がする。
0696132人目の素数さん05/01/21 14:10:40
『Inverse::luc』
とはどういう意味の警告ですかね?
0697132人目の素数さん05/01/21 16:15:48
逆行列を定義出来ない行列を、逆行列にしようとしたの?
0698132人目の素数さん05/01/21 19:23:53
General::luc
行列expr に含まれる悪条件より,結果
には重大な数値的エラーが含まれている可能性があります.

・線形方程式の数値解の計算に用いるアルゴリズムの失敗によって表示される.
・もし思わぬ場面でこのメッセージが表示されたら,テクニカルサポートまでご連絡ください.
0699132人目の素数さん05/01/23 17:35:30
3DPlotで双曲面を画こうとする時、±√を+√と−√に分けて作図すると、+と−のつなぎ目の部分が途切れてしまってうまく画けないのですが、どのようにすればいいのでしょうか?
4.0を使っていて、±ってはじめに出ているパレットには無いのですが、何処からか呼び出せるのでしょうか?
初歩過ぎる質問だとは思いますが、どうか教えていただきたいです。よろしくお願いします。
0700132人目の素数さん05/01/23 21:11:16
こういうこと?
ParametricPlot3D[{x, y, x^2/1.3^2 - y^2/1.5^2}, {x, -1, 1}, {y, -1, 1}];

具体的な式書いてよ。
0701132人目の素数さん05/01/24 12:20:57
次の論理式について積和標準形を求めよ。トートロジーかどうかを判定せよ。

(1)or[imply[p,q],imply[q,p]]
(2)or[and[p,q],and[q,r],and[r,p]]〜imply〜and[or[p,q],or[q,r],or[r,p]]
(3)and[or[p,q],or[q,r]or[r,p]]〜imply〜or[and[p,q],and[q,r],and[r,p]]
(4)imply[or[p,q],and[q,r]]〜imply〜imply[p,r]

という問題です。mathematicaを使ってみたら、

(1)or[not[p],q,not[q],p]
(2)or[and[not[p],not[q],not[r]],and[not[p],not[r]],and[not[p],not[q]],and[not[q],not[r]],and[not[q],not[p]],and[not[q],not[r],not[p]],and[p,q,r],and[q,r],and[p,r],and[p,q],and[q,p],and[q,r,p]
(3)or[and[not[p],not[q]],and[not[q],not[r]],and[not[r],not[p]],and[[p,q],and[q,r],and[r,p]]
(4)or[and[p,not[q]],and[q,not[q]],and[p,not[r]],and[q,not[r],not[p],r]]

となりました。ここからどうやって積和標準形を求め、トートロジーの判定をすればいいのかわかりません。教えてください。お願いします。
0702132人目の素数さん05/01/24 21:01:27
>>701
積和標準形はなんだかしらないけれど、トートロジーは簡単だ。
どういう真偽値の組合せでも常に真になることを言えばいい。

Or[Implies[p, q], Implies[q, p]] /. 
    Join @@ Outer[{p -> #1, q -> #2} &, {True, False}, {True, False}] // 
  Apply[And, #] &
0703132人目の素数さん05/01/24 22:04:55
>>700
レスありがとうございます!
所謂、二葉双曲面で色んなパターンが描きたいのですが…
例えば
Z^2=3X^2-Y^2-3/4とかZ^2=-X^2+3X-2sqrt(3)XY+2Y^2-sqrt(3)y+1/4
この様な式のグラフィックとはどう描けば良いのでしょうか?
ネットで調べてみると難しいパラメータを利用してるみたいでさっぱりわかりませんでした…

0704132人目の素数さん05/01/25 17:43:15
x+2x+3x
のような多項式を

3
馬x
n=1

と変換させるにはどうしたらよいのでしょうか?
Outに狽フ形で出したいのですが可能でしょうか。
0705132人目の素数さん05/01/25 17:53:01
>>704
> Outに??の形で出したいのですが可能でしょうか。
それ自体は可能だ(おれの環境では見えないが、\sumだと仮定して)。
HoldFormを使う。

> x+2x+3x
> のような多項式を

こっちは意味がわからない。
1) 6xと足して欲しくないということか?
2) x + 2 x^2 + 3 x^3 の間違いか?
3) 係数がどのようなnの関数であるか既知なのか?
0706132人目の素数さん05/01/25 17:55:40
704です。

6xと表示させたいのでは無く、
狽ニn (n=1,2,3・・・・)の形で表示させたいんですが。
nがどのような形でかかってくる関数かは既知です。
0707132人目の素数さん05/01/25 18:45:50
>>706
じゃ HoldForm[Sum[n x, {n, 3}]]
0708132人目の素数さん05/01/25 19:09:22
すいません
nx にあたる部分が未知です。


nで狽ノまとめられそうな多項式を入力として

狽ネんたら
n=1

と出力するにはどうしたらいいでしょうか?
狽フ形にMathematicaに自動で処理させたいのです。
0709132人目の素数さん05/01/25 19:33:05
3
In=肺^n
n=1

Out=x+x^2+x~3


の逆で


Int=x+x^2+x~3

  3
Out=肺^n
 n=1

がしたいってことなんですが・・・
0710132人目の素数さん05/01/25 21:41:42
>>709
それは無理だと思うんだが…

あと、あなたの書いてる式は多項式ではないよ。xという1つの項しか使ってないから。
0711132人目の素数さん05/01/26 11:30:02
調べてもわからなかったのでご意見ください.

Sin[A Cosθ]

を入力としたとき,
A<<1
ならばという条件で近似させ

A Cosθ

を出力として取り出したいのです.
このように,ある条件を与えて近似する方法,ご存知の方ご享受ください.
0712132人目の素数さん05/01/26 14:32:08
>>709
要領を得ない書き込みだな。ミスも多いし。

例えば
x + 9 x + 5 x^ + 2 x^3
ならどうnの式で表せると思う?

係数が未知なら逆に戻すのは不可能。
If[n == 1, 9, If[ ...]]みたいな係数でよければできるがな。
0713132人目の素数さん05/01/26 14:39:00
>>711
SeriesCoefficient[Series[Sin[A Cos[t]], {A, 0, 1}], 1]

>>712
自分でミスってりゃ世話ないな。
  1 + 9 x + 5 x^2 + x^3
0714132人目の素数さん05/01/26 18:11:21
ベッセル関数の行列式の絶対値の表示の仕方を教えてください。
ちなみに今は12×12の行列式をmatと置き、それをDet[mat]としています。
0715132人目の素数さん05/01/28 00:18:08
二葉双曲面で色んなパターン
例えば
Z^2=3X^2-Y^2-3/4とかZ^2=-X^2+3X-2sqrt(3)XY+2Y^2-sqrt(3)y+1/4
この様な式のグラフィックとはどう描けば良いのでしょうか?
ParametricPlot3D[{x, y, Sqrt[3X^2 - Y^2 - 3/4], -Sqrt[3X^2 - Y^2 - 3/4]}, {x,
-3, 3}, {y, -3, 3}];
では描けないのですがやはりパラメータを使わなければ描けない物なんでしょうが?
0716132人目の素数さん05/01/28 06:59:12
<< Graphics`
InequalityPlot3D[3x^2 - y^2 - z^2 - 3/4 >= 0, {x, -5, 5}, {y, -5, 5}, {z, -5, 5}]
071771605/01/28 07:00:35
やりなおし
<<Graphics`
InequalityPlot3D[3x^2-y^2-z^2-3/4>=0,{x,-5,5},{y,-5,5},{z,-5,5}]
0718132人目の素数さん05/01/28 13:51:25
>>717
なんか変な図だね。円錐に見える。

こっちのほうがきれいだと思う。
ContourPlot3D[z^2 - ( 3 x^2 - y^2 - 3/4), {x, -5, 5}, {y, -5, 5}, {z, -5, 5}, 
  PlotPoints -> {5, 5}]
0719132人目の素数さん05/01/29 00:41:39
>>717
>>718
本当にありがとうございます!大変参考になりました。
なぜか717の式をコピペしてもグラフィックが出力されないのですが…
4.0では無理って事はないですよね?
0720132人目の素数さん05/01/29 02:07:52
>>719
バージョン4.2か5以降だったような気がする。
0721132人目の素数さん05/01/29 10:50:06
Ver4.1使ってます。
Plot[hoge[x],{x,-100,100}]
とした場合実際には最大で何ポイントで計算されてるんでしょうか?

PlotPoints->25 、 MaxBend->15 、 PlotDivision->30 が標準らしいのですが、

25*30 = 750 ポイントなんでしょうか?



0722132人目の素数さん05/01/30 00:03:01
誰か自然現象・社会現象のなかからテーマを一つ選び,問題を定義し,ルールを書き,シミュレーションするプログラム(notebookの形)を作成してください.手法として,ルールと記述し,状態を変化させそうなんですが。。。。
0723132人目の素数さん05/01/30 00:19:31
ここまで投げやりなのも珍しいな? 低凶?
072472205/01/30 02:09:10
いや一橋のものです。。
0725132人目の素数さん05/01/30 02:36:58
3次元曲線の線を太くするってどうやればできるんですか?
0726132人目の素数さん05/01/30 03:29:00
Plot[{Sqrt[48x^2 - 0.979], -Sqrt[48 x^2 - 0.979]}, {x, 0, 8},
AspectRatio -> Automatic, PlotRange -> {{-7, 7}, {-7, 7}}]
とプロットすると

   Plot::plnr : x = 3.3333333333333333333333`*^-7
において\!\(\@\(\(\(48\\ x\^2\)\) \
- 0.979`\)\)は機械精度の実数ではありません."\)

Plot::"plnr" : x = (0.07539936143743177`\)において\!\(\@\(\(\(48\\ x\^2\)\) - \
0.979`\)\)は機械精度の実数ではありません."\)

Plot::"plnr" x = \!\(0.11815455710265632`\)において\!\(\@\(\(\(48\\ x\^2\)\) - \
0.979`\)\)は機械精度の実数ではありません."\)

General::"stop": "計算中,Plot :: plnrのこれ以上の出力は表示されません."

こんな風に表示されて、双曲線の頂点付近がプロットされないのですが、どのように解決すればよいのでしょうか?
0727132人目の素数さん05/01/30 03:34:55
>>725
Plot3D[BesselJ[2,x y],{x,-10,16},{y,-1,1},MeshStyle->{Thickness[.006]}]
0728132人目の素数さん05/01/30 08:43:16
>>726
>機械精度の「実数」ではありません."
0729132人目の素数さん05/01/30 09:30:57
>>722
現代の特殊出生率と、過去のものを比較してみれば?

>>724
嘘をつくな嘘をw
073072205/01/30 12:35:45
>>729
やり方が全くわからないので、ここに載せてもらえないでしょうか??お願いします。。。
0731132人目の素数さん05/01/30 13:43:38
>>727
MeshStyleか! どうも�dクスです
PlotStyleが使えないのどうして?ってずっと思ってたです
0732132人目の素数さん05/01/30 16:42:00
>>731
Options[Plot3D]とかやれば、使えるオプションの一覧が出るよ
0733132人目の素数さん05/01/30 21:05:41
??Plot3D
でいいんじゃね?

で、質問なのですが、
f[x_,y_,z_,t_]=で関数定義して、
これを
g[t_] = f[x_,y_,z_,t_]をx,y,zそれぞれ±無限大で積分
としてg[t_]をプロットしたいのですが、時間がかかりすぎて困ってます。
最適化するにはどうしたらいいんでしょうか?
また、g[t_]を計算した時点で保存して次回からいきなりPlot[g[t]]させる方法
ってあるんでしょうか?
0734132人目の素数さん05/01/30 22:35:23
listplot
データを間引きすれば?
073573305/01/31 00:03:20
>>734さん

レスサンクスです。

PlotPoints,PlotDivision,Maxbendをいじってもいるんですが、
速くすると精度は落ちるしってパターンでしかないので
ちょっと迷ってます。とりあえずPlotPointsをぐっと減らしてmaxbendもあげて概形を
見てから計算するようにして一晩放置して計算させたのに無駄だったってことだけは下げてます。

やっぱいいPC買うしかないんですかね 今は、[email protected] orz..
0736132人目の素数さん05/01/31 08:35:26
数学で生きていくのであれば、商売道具に金かけた方が幸せでしょうね。
0737132人目の素数さん05/01/31 10:30:46
>>735
いいPC買ったって2倍速にもならんだろ。

Integrateをそのまま使ってて、
記号積分に挑戦して時間がかかっているだけじゃないのか?
073873505/01/31 15:02:09
NIntegrateにしてます。

理想的には不貞積分した時に式がどうなるか出してほしいのですが
それはあきらめました。
0739132人目の素数さん05/01/31 18:04:33
>>738
不貞積分(w

では、Plot[Evaluate[NInte...],{t,...}]にして(それほど効果がないかもしれん)、
NIntegrateのオプションをいじる。

オプションをいじってもNIntegrate自体に時間がかかるんなら、
最適化も何も無理。NIntegrateを自分で書くぐらいしか手はない。
0740132人目の素数さん05/02/01 20:14:33
要素数5の0,1のみからなるリストを全種類作りたいのですが、
どのようにすればよいですか?
{0,0,0,0,0}、{0,0,0,0,1}、{0,0,0,1,0}、{0,0,0,1,1}・・・
(全部で32個)
0741132人目の素数さん05/02/01 21:06:43
要素が5個だけなら
たぶん手間的に32個書いたほうが楽だと思うけど…
0742132人目の素数さん05/02/01 22:23:19
For文で要素をi,j,k,l,mとして、
for (int i=0;i<=1;i++){for (int j=0;j<=1;j++){ 略
{i, j, k, l, m}
でどう?
0743132人目の素数さん05/02/01 22:50:59
マセマティカで
FORはつかっちゃだめでしょう?
せめてDOにしなさい
0744132人目の素数さん05/02/01 22:56:08
f[list_, elems_] := Map[Prepend[list, #] &, elems]
g[list_, elem_] := Flatten[Map[f[#, elem] &, list], 1]

Nest[g[#, {0, 1}] &, {{}}, 5]
でどう? 
074574405/02/02 00:37:41
Moduleを使ってまとめれば、

genSeq[elms_, n_] :=
Module[
{f, g},
f[list_, elems_] := Map[Prepend[list, #] &, elems];
g[list_, elem_] := Flatten[Map[f[#, elem] &, list], 1];


genSeq[{0, 1}, 5]
074674405/02/02 00:40:52
>>745
コピーを間違えた

genSeq[elms_, n_] :=
  Module[
   {f, g},
   f[list_, elems_] := Map[Prepend[list, #] &, elems];
   g[list_, elem_] := Flatten[Map[f[#, elem] &, list], 1];
   Nest[g[#, elms] &, {{}}, n]
  ]

で、

genSeq[{0, 1}, 5]
0747132人目の素数さん05/02/02 02:40:26
Plot[{Sqrt[3 x^2 - 3], -Sqrt[3 x^2 - 3]}, {x, 1, 7}, AspectRatio -> Automatic,
PlotRange -> {{-7, 7}, {-7, 7}}]

では、問題なくグラフが画けるのに、
Plot[{Sqrt[3 x^2 - 3], -Sqrt[3 x^2 - 3]}, {x, 0, 7}, AspectRatio -> Automatic,
PlotRange -> {{-7, 7}, {-7, 7}}]
などと範囲を少し変えただけなのに「機械精度の実数ではありません」等と表示されてグラフが途切れて画かれてしまうのはなぜなんでしょうか?
5.0等新しいバージョンでは問題なく画けるのでしょうか?
0748132人目の素数さん05/02/02 03:39:44
>>747
{x, 0, 7}とすると、0 <= x < 1で 3 x^2 - 3 < 0 だから、 Sqrt[3 x^2 - 3]が実数でない。
したがって、Mathematicaはエラーを出す。
074974005/02/02 10:23:57
>>744
すごい!ありがとうございます!
早速使わせて頂きます。
ただ、Moduleを使うと、
{0, 0,  , 0, 0}, { , 0,  , 0, 0}, {0,  ,  , 0, 0}, ・・・
のように1が表示されなくなります・・・。
0750132人目の素数さん05/02/02 10:58:33
>>749
>>746
0751132人目の素数さん05/02/02 12:14:45
>>740
Outer使え。

Gen[n_] := Flatten[Outer[List, Sequence @@ Table[{0, 1}, {n}]], n - 1]

Gen[5]
■ このスレッドは過去ログ倉庫に格納されています