〓 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/
0655132人目の素数さん
NGNG5.1はWinでは x86版、 Linuxでは x86版、x86-64bit版(athlon64)、Itanium版が探せばある。
0656132人目の素数さん
NGNGありがとうございます。まだ使い始めて日が浅いので。
こうやればいいんですね。よく考えてみると単純ですね。
0657132人目の素数さん
NGNGどなたかご教授願います。
0658132人目の素数さん
NGNG0659132人目の素数さん
NGNGtest1 = 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人目の素数さん
NGNG0661132人目の素数さん
NGNGxご教授 o御教示
mathよりjapaneseやれよw
0662132人目の素数さん
NGNG0663132人目の素数さん
NGNGありがとうございます。
Show[test1,test2]で表された図を印刷したいんですが、図だけをコピーすることはできないでしょうか。
枠線が邪魔なんです。
>>661
_| ̄|○
0664132人目の素数さん
NGNGを中古で安く譲ってくれる方はいますか?
もし合法でないなら無視して下さい。
合法的に安く入手したいだけですので。
0665132人目の素数さん
NGNG仕事で使うのならまずいけど。
0666132人目の素数さん
NGNGへんなシト。 英語版ならクレカを持っていれば、ダウソ版が1880ドルで買える。 これが
一番安いと思う。 Mathematicaは業務用ソフトではないし、値段はこんなものか。
日本語版は確か35万くらいする。
0667132人目の素数さん
NGNGgnuです。mathematicaとの互換性は?
0668132人目の素数さん
NGNG0669132人目の素数さん
NGNGMathematica恐怖症になってしまった。
やる気がおきない。
0670132人目の素数さん
NGNG0671132人目の素数さん
NGNG0672132人目の素数さん
NGNGのグラフの輪っかになってる部分の面積を求めたいんですが、どうしたらよいでしょうか
0673132人目の素数さん
NGNGグラフはこれで見れるね。
<< Graphics`ImplicitPlot`
ImplicitPlot[18x y - x^3 - y^3 == 0, {x, -10, 10}]
で、面積は、
18 x y - x^3 - y^3 < 0
の範囲であることは分かりますか?
0674673
NGNGSin[x]やCos[x]を使うんだっけ…
0675132人目の素数さん
NGNG>0 の間違いでは?
>>674
version5以降なら、↓で計算できる。でも、式の簡略化に失敗してるなあ。
<< Calculus`Integration`
Integrate[Boole[18 x y - x^3 - y^3 > 0], {x, 0, 10}, {y, 0, 10}]
0676673
NGNG訂正サンクス、やり直さなきゃいけないのは自分の方だった。
N[Integrate[Boole[18 x y - x^3 - y^3 > 0], {x, 0, 10}, {y, 0, 10}] ]
で値がでましたね。
54.
0677132人目の素数さん
NGNGIs there such function in the Mathematica?
0678132人目の素数さん
NGNG0679132人目の素数さん
NGNGYes, 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人目の素数さん
NGNGthnx
0681132人目の素数さん
NGNG学生だったらスチューデント版がたしかそんなもんじゃね?
0682132人目の素数さん
NGNGやっとやっと
なんでもやらせようとするから駄目なんだな。
0683132人目の素数さん
NGNG日本語モード用のぱすじぇねは無いのかな・・・
今Ver5.1最新版を英語モードで使っているのだが、
そのパスでは当然日本語モードへ出来ない。
少しでも日本語環境へ近づけるため、
プログラム本体の到る所にあるJapaneseフォルダーを
Englishフォルダーへコピーさせる荒業を試みたけど、
入力パッド画面・ヘルプ(中身のみ)は日本語化出来た
けど他はダメでした。
肝心の本体をどうすれば日本語に出来るのか・・・
0684132人目の素数さん
NGNGマセマティカ5【日本語版】になると
きかいせいどがどうのこうのとかIntegrandがどうのおうの
とかうだうだいってきて、
あげくに計算しない。あほか。今度暇なときに
ボッフラムに文句をいうてやるわ。30万円近くしたのに。・・・・
0685132人目の素数さん
05/01/17 16:03:54結果を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にあるものをそのまま使ってます。
やり方がわかるひと教えてください。
0686685
05/01/17 23:08:332 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"ディレクトリを選択
0687685
05/01/17 23:09:5212 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フォルダーアイコンを広げます。
0688685
05/01/17 23:10:3122 説明に、「mprepingなど」の注意をタイプしてください…
23 Build Commandsリストの中では、最初の空白のエントリーをクリックしてください、そ
して、タイプする: mprep addtwo.tm-o addtwotm.c
24 Output Filesリストの中では、最初の空白のエントリーをクリックしてください、そし
て、タイプする: . \addtwotm.c
25 OKボタンをクリックします。
26 Buildメニューから、Build ADDTWO.EXEを選びます。
0689685
05/01/17 23:11:35その後色々調べて
�@と�Aの後に
↑
の手順に従ってビルドを試みてみました。
その結果
--------------------構成: ADDTWO - Win32 Debug--------------------
カスタム ビルドを実行中
コンパイル中...
addtwo.c
addtwotm.c
リンク中...
..\..\..\..\..\..\..\..\..\DevStudio\VC\lib\ml32i2m.lib : fatal error LNK1106: ファイルが無効であるか、 またはディスクがいっぱいです: 0x3ee7a0e7 にシークできません
link.exe の実行エラー
ADDTWO.exe - エラー 1、警告 0
というエラーが出てしまいます。
原因が分かる方いませんでしょうか・・・。
0690685
05/01/18 12:27:55Microsoft 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
に載ってる。
0691685
05/01/18 12:28:57良かった手順
�@上と同じ
�AFiles\CompilerAdditions\mldev32以下のファイルを
C:\Program Files\Microsoft Visual Studio\VC98
以下にコピペ。
�Bデベロッパキットに載っている6.0の手順に従ってビルト成功。
0692132人目の素数さん
05/01/18 13:29:460693132人目の素数さん
05/01/19 02:06:52課題であるのですが、まったくわかりません。(ちなみに私は、学校の実験程度で
やっているだけなので)
0694132人目の素数さん
05/01/19 04:05:29Moduleの中で宣言された変数は、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違いがまだほとんどわからないけど、計算がわずかに早くなったような気がする。
0696132人目の素数さん
05/01/21 14:10:40とはどういう意味の警告ですかね?
0697132人目の素数さん
05/01/21 16:15:480698132人目の素数さん
05/01/21 19:23:53行列expr に含まれる悪条件より,結果
には重大な数値的エラーが含まれている可能性があります.
・線形方程式の数値解の計算に用いるアルゴリズムの失敗によって表示される.
・もし思わぬ場面でこのメッセージが表示されたら,テクニカルサポートまでご連絡ください.
0699132人目の素数さん
05/01/23 17:35:304.0を使っていて、±ってはじめに出ているパレットには無いのですが、何処からか呼び出せるのでしょうか?
初歩過ぎる質問だとは思いますが、どうか教えていただきたいです。よろしくお願いします。
0700132人目の素数さん
05/01/23 21:11:16ParametricPlot3D[{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積和標準形はなんだかしらないけれど、トートロジーは簡単だ。
どういう真偽値の組合せでも常に真になることを言えばいい。
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レスありがとうございます!
所謂、二葉双曲面で色んなパターンが描きたいのですが…
例えば
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のような多項式を
3
馬x
n=1
と変換させるにはどうしたらよいのでしょうか?
Outに狽フ形で出したいのですが可能でしょうか。
0705132人目の素数さん
05/01/25 17:53:01> Outに??の形で出したいのですが可能でしょうか。
それ自体は可能だ(おれの環境では見えないが、\sumだと仮定して)。
HoldFormを使う。
> x+2x+3x
> のような多項式を
こっちは意味がわからない。
1) 6xと足して欲しくないということか?
2) x + 2 x^2 + 3 x^3 の間違いか?
3) 係数がどのようなnの関数であるか既知なのか?
0706132人目の素数さん
05/01/25 17:55:406xと表示させたいのでは無く、
狽ニn (n=1,2,3・・・・)の形で表示させたいんですが。
nがどのような形でかかってくる関数かは既知です。
0707132人目の素数さん
05/01/25 18:45:50じゃ HoldForm[Sum[n x, {n, 3}]]
0708132人目の素数さん
05/01/25 19:09:22nx にあたる部分が未知です。
nで狽ノまとめられそうな多項式を入力として
狽ネんたら
n=1
と出力するにはどうしたらいいでしょうか?
狽フ形にMathematicaに自動で処理させたいのです。
0709132人目の素数さん
05/01/25 19:33:05In=肺^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それは無理だと思うんだが…
あと、あなたの書いてる式は多項式ではないよ。xという1つの項しか使ってないから。
0711132人目の素数さん
05/01/26 11:30:02Sin[A Cosθ]
を入力としたとき,
A<<1
ならばという条件で近似させ
A Cosθ
を出力として取り出したいのです.
このように,ある条件を与えて近似する方法,ご存知の方ご享受ください.
0712132人目の素数さん
05/01/26 14:32:08要領を得ない書き込みだな。ミスも多いし。
例えば
x + 9 x + 5 x^ + 2 x^3
ならどうnの式で表せると思う?
係数が未知なら逆に戻すのは不可能。
If[n == 1, 9, If[ ...]]みたいな係数でよければできるがな。
0713132人目の素数さん
05/01/26 14:39:00SeriesCoefficient[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:12InequalityPlot3D[3x^2 - y^2 - z^2 - 3/4 >= 0, {x, -5, 5}, {y, -5, 5}, {z, -5, 5}]
0717716
05/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なんか変な図だね。円錐に見える。
こっちのほうがきれいだと思う。
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>>718
本当にありがとうございます!大変参考になりました。
なぜか717の式をコピペしてもグラフィックが出力されないのですが…
4.0では無理って事はないですよね?
0720132人目の素数さん
05/01/29 02:07:52バージョン4.2か5以降だったような気がする。
0721132人目の素数さん
05/01/29 10:50:06Plot[hoge[x],{x,-100,100}]
とした場合実際には最大で何ポイントで計算されてるんでしょうか?
PlotPoints->25 、 MaxBend->15 、 PlotDivision->30 が標準らしいのですが、
25*30 = 750 ポイントなんでしょうか?
0722132人目の素数さん
05/01/30 00:03:010723132人目の素数さん
05/01/30 00:19:310724722
05/01/30 02:09:100725132人目の素数さん
05/01/30 02:36:580726132人目の素数さん
05/01/30 03:29:00AspectRatio -> 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:55Plot3D[BesselJ[2,x y],{x,-10,16},{y,-1,1},MeshStyle->{Thickness[.006]}]
0728132人目の素数さん
05/01/30 08:43:16>機械精度の「実数」ではありません."
0729132人目の素数さん
05/01/30 09:30:57現代の特殊出生率と、過去のものを比較してみれば?
>>724
嘘をつくな嘘をw
0730722
05/01/30 12:35:45やり方が全くわからないので、ここに載せてもらえないでしょうか??お願いします。。。
0731132人目の素数さん
05/01/30 13:43:38MeshStyleか! どうも�dクスです
PlotStyleが使えないのどうして?ってずっと思ってたです
0732132人目の素数さん
05/01/30 16:42:00Options[Plot3D]とかやれば、使えるオプションの一覧が出るよ
0733132人目の素数さん
05/01/30 21:05:41でいいんじゃね?
で、質問なのですが、
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データを間引きすれば?
0735733
05/01/31 00:03:20レスサンクスです。
PlotPoints,PlotDivision,Maxbendをいじってもいるんですが、
速くすると精度は落ちるしってパターンでしかないので
ちょっと迷ってます。とりあえずPlotPointsをぐっと減らしてmaxbendもあげて概形を
見てから計算するようにして一晩放置して計算させたのに無駄だったってことだけは下げてます。
やっぱいいPC買うしかないんですかね 今は、[email protected] orz..
0736132人目の素数さん
05/01/31 08:35:260737132人目の素数さん
05/01/31 10:30:46いいPC買ったって2倍速にもならんだろ。
Integrateをそのまま使ってて、
記号積分に挑戦して時間がかかっているだけじゃないのか?
0738735
05/01/31 15:02:09理想的には不貞積分した時に式がどうなるか出してほしいのですが
それはあきらめました。
0739132人目の素数さん
05/01/31 18:04:33不貞積分(w
では、Plot[Evaluate[NInte...],{t,...}]にして(それほど効果がないかもしれん)、
NIntegrateのオプションをいじる。
オプションをいじってもNIntegrate自体に時間がかかるんなら、
最適化も何も無理。NIntegrateを自分で書くぐらいしか手はない。
0740132人目の素数さん
05/02/01 20:14:33どのようにすればよいですか?
{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たぶん手間的に32個書いたほうが楽だと思うけど…
0742132人目の素数さん
05/02/01 22:23:19for (int i=0;i<=1;i++){for (int j=0;j<=1;j++){ 略
{i, j, k, l, m}
でどう?
0743132人目の素数さん
05/02/01 22:50:59FORはつかっちゃだめでしょう?
せめてDOにしなさい
0744132人目の素数さん
05/02/01 22:56:08g[list_, elem_] := Flatten[Map[f[#, elem] &, list], 1]
Nest[g[#, {0, 1}] &, {{}}, 5]
でどう?
0745744
05/02/02 00:37:41genSeq[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]
0746744
05/02/02 00:40:52コピーを間違えた
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:26PlotRange -> {{-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{x, 0, 7}とすると、0 <= x < 1で 3 x^2 - 3 < 0 だから、 Sqrt[3 x^2 - 3]が実数でない。
したがって、Mathematicaはエラーを出す。
0749740
05/02/02 10:23:57すごい!ありがとうございます!
早速使わせて頂きます。
ただ、Moduleを使うと、
{0, 0, , 0, 0}, { , 0, , 0, 0}, {0, , , 0, 0}, ・・・
のように1が表示されなくなります・・・。
0750132人目の素数さん
05/02/02 10:58:33>>746
0751132人目の素数さん
05/02/02 12:14:45Outer使え。
Gen[n_] := Flatten[Outer[List, Sequence @@ Table[{0, 1}, {n}]], n - 1]
Gen[5]
0752740
05/02/02 13:21:19Outerをうまく使えないものか考えていました。
ありがとうございます。
すごくスッキリしました!
なかなかMathematicaプログラミング技術が上達しなくて、
日々奮闘しているので、こちらは大変勉強になります。
0753132人目の素数さん
05/02/02 18:14:15そういうふうに、正しく(すっきりと)やろうとするのは大切だよ。
アドバイス:きれいなプログラムが書けるようになりたいなら、ForとかDoとかは使わないこと。
0754132人目の素数さん
05/02/02 18:46:48初歩的な質問に親切に答えていただいてありがとうございます!
■ このスレッドは過去ログ倉庫に格納されています