問題タブ [mathematica-8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
253 参照

wolfram-mathematica - キーボード ショートカットの下に書き込みます

以前は Mathematica 7 ではCtrl+=でしたが、Mathematica 8 では下に書く代わりに、このショートカットが自由形式の入力を開始します。tutorial/KeyboardShortcutListing のドキュメントは更新されていません。以下の書き込みに現在使用されているショートカットはどれですか?

0 投票する
2 に答える
1382 参照

graphics - Graph[] は Mathematica で頂点ラベルを切り捨てる

Graph[]Mathematica で頂点ラベルを切り取る傾向があります。堅牢な回避策を探しています。

例:

Graph[] はラベル '2' を切り取ります

私の現在の回避策:

ImagePaddingラベルのサイズに応じての値を手動で調整する必要があるため、これは堅牢ではありません。

0 投票する
3 に答える
318 参照

wolfram-mathematica - Mathematica 8 で Graph[] オブジェクトの自動レイアウトを防止する

一部のタイプのオブジェクトは Mathematica で特別な入力/出力フォーマットを持っています. これにはGraphics、ラスター画像、およびMathematica 8以降のグラフ(Graph[])が含まれます。残念ながら、大きなグラフを視覚化するには非常に長い時間がかかる場合があり、インタラクティブな作業中にグラフに対して行っている他のほとんどの操作よりもはるかに長くなります。

Graph[]StandardForm および TraditionalFormでオブジェクトの自動レイアウトを防止し、たとえば として表示するにはどうすればよいですか。-Graph-できれば出力の解釈可能性を維持します (おそらくInterpretation? を使用します)。Formatこれには何らかの変更や何らかの方法が必要になると思いますが、これを機能させることMakeBoxesに失敗しました。

これを可逆的な方法で行いたいと思います。できれば、Graphオブジェクトに適用されたときに元のインタラクティブなグラフ表示を返す関数を定義したいと思います (GraphPlotインタラクティブではない とは異なります)。

関連して、特定のシンボルに関連付けられた Format/MakeBoxes 定義を取得する方法はありますか? FormatValuesは関連する関数の 1 つですが、 については空ですGraph

サンプル セッション:

0 投票する
1 に答える
381 参照

wolfram-mathematica - mma8でのIntegrateとNIntegrateのバグ

ここで何が起こっているのか(Mathematicaバージョン8.x):

NIntegrate[]値は正しいです。以前に選択で問題が発生しましPrincipalValueたが、a)mma8で修正されており、b)この積分には、積分領域に極がないか、少なくともあるべきではありません。

編集:この問題の解決策を提案する人々のおかげで、一般的な解決策は、例えば、排他的に使用することになるでしょうNIntegrate。ただし、具体的になぜこれが発生するのか、したがってこのバグが予測可能かどうかを調べることに興味があります。

0 投票する
2 に答える
504 参照

wolfram-mathematica - 関数宣言に関するMathematica8の問題

これは、この例で「functionB」として定義された関数の奇妙な結果です。誰かがこれを説明できますか?functionB[x]私はプロットしたいのですがfunctionB[Sqrt[x]]、それらは異なっている必要がありますが、このコードはそれを示していますfunctionB[x] = functionB[Sqrt[x]]。これは不可能です。

functionB[x]とは異なる必要がありますfunctionB[Sqrt[x]]が、この場合、2行は同じです(これは正しくありません)。

0 投票する
3 に答える
1240 参照

wolfram-mathematica - Mathematica 8の等式制約による関数の最小化

Mathematica 8 で単純な等式の制約を使用すると、最小化が機能しません。例えば

Mathematica 6 では正常に動作しますが、バージョン 8 ではエラーが発生します。他の誰かがこれを確認 (または説明) できますか? パラメータの 1 つを制約で修正すると、バージョン 8 が混乱するようです。パッティングxy==1は問題ありません。

これに関する簡単な回避策はありますか?を変更してみましたがMethod、運が悪いです。すべてのパラメーターをパラメーター リストに保持したいのですが、リストからパラメーター名を削除するのではなく、いくつかのパラメーターを単純な制約で保持します。バージョン 6 で動作するコードがありますが、8 では動作しません。

0 投票する
2 に答える
9112 参照

wolfram-mathematica - マニピュレートのアニメーションGIFを生成するにはどうすればよいですか?8.0.1

アニメーションGIFへのエクスポートはMathematica8.0.1で変更されたようですが?

私は通常、次のように書くだけで操作のアニメーションGIFを作成します。

しかし、今では機能しません。静止画像を1つだけ取得します。

次に例を示します。

Export["foo.gif",v]も実行されていなかったので、静止画像を生成するだけです。

しかしExport["foo.avi",v]、動作し、実行中のaviムービーを生成します。

また、以前はアニメーションGIFオプションを使用していましたが、現在はサポートされていません。

ヘルプに行くと、GIFのオプションが表示されません。アニメーションの遅延などをどのように制御しますか?

ここの誰かがアイデアを持っているのではないかと思いました。

ありがとう-ナセル

0 投票する
1 に答える
930 参照

wolfram-mathematica - Mathematica で線形むだ時間システムを定義し、そのボード線図とナイキスト線図をプロットする

むだ時間系の特性方程式がありますが、 MathematicaStateSpaceModelでそれを定義したり、TransferFunctionModelコマンドを実行したりすることができません。これらのコマンドは、遅延なしで線形システムに対してのみ機能するためです。

私の目的は、 Mathematica 8.0.1で時間遅延システムを定義し、次のようなシステムのボード線ナイキスト線図をプロットすることです。

0 投票する
1 に答える
553 参照

indexing - Mathematica のCUDAFunctionLoad - 索引付けの問題

CUDA マシンで発生しているインデックスの問題をデバッグしようとしています

{1->{Name->Tesla C2050,クロック レート->1147000,計算能力->2.,GPU オーバーラップ->1,最大ブロック ディメンション->{1024,1024,64},最大グリッド ディメンション->{65535 ,65535,65535},ブロックあたりの最大スレッド数->1024,ブロックあたりの最大共有メモリ->49152,合計定数メモリ->65536,ワープ サイズ->32,最大ピッチ->2147483647,ブロックあたりの最大レジスタ数->32768,テクスチャ アライメント ->512、マルチプロセッサ カウント ->14、コア カウント ->448、実行タイムアウト ->0、統合 ->False、ホスト メモリをマップ可能 ->True、コンピューティング モード ->デフォルト、Texture1D 幅 ->65536、Texture2D幅->65536、Texture2D 高さ->65535、Texture3D 幅->2048、Texture3D 高さ->2048、Texture3D 深さ->2048、Texture2D 配列幅->16384、Texture2D 配列高さ->16384、Texture2D 配列スライス->2048、 Surface Alignment->512,Concurrent Kernels->True,ECC有効->True,合計メモリ->2817982462},

このコードは、CUDA が使用しているインデックスに等しい 3D 配列の値を設定するだけです。

何らかの理由で、3D 配列の次元が大きくなりすぎると、インデックス作成が停止します。

さまざまなブロックサイズを試しました (blockDim.x by blockDim.y by blockDim.z):

8x8x8 は、配列次元 12x12x12 までの正しいインデックス付けのみを提供します

9x9x9 は、配列次元 14x14x14 までの正しいインデックス付けのみを提供します

10x10x10 は、配列次元 15x15x15 までの正しいインデックス付けのみを提供します

これらよりも大きな次元の場合、さまざまなブロック サイズのすべてが最終的に再び増加し始めますが、dim^3-1 の値に達することはありません (これは、cuda スレッドが到達する最大インデックスです)。

以下に、この動作を示すプロットをいくつか示します。

例: これは、x 軸に 3D 配列の次元 (x x x) をプロットし、y 軸に cuda 実行中に処理される最大インデックス番号をプロットします。この特定のプロットは、ブロックのサイズが 10x10x10 の場合です。

ここに画像の説明を入力

そのプロットを生成する (Mathematica) コードを次に示しますが、これを実行したときは、1024x1x1 のブロック次元を使用しました。

これは同じプロットですが、x^3 をプロットして、あるべき場所と比較しています。配列の次元が 32 を超えると発散することに注意してください。

ここに画像の説明を入力

3D 配列の次元をテストし、インデックスがどこまで進んでいるかを調べ、dim^3-1 と比較します。たとえば、dim=32 の場合、cuda の最大インデックスは 32767 (32^3 -1) ですが、dim=33 の場合、35936 (33^3 -1) になるはずの cuda 出力が 33791 になります。33791-32767 = 1024 = blockDim.x であることに注意してください。

質問:

Mathematica のブロック次元よりも大きい次元の配列に正しくインデックスを付ける方法はありますか?

さて、ビット乗算のエラーを防ぐためにインデックス方程式で __mul24(threadIdx.y,blockDim.x) を使用する人がいることを知っていますが、私の場合は役に立たないようです。

また、デフォルトでは計算機能 1.0 用にコンパイルされているため、コードを -arch=sm_11 でコンパイルする必要があると誰かが言及しているのを見ました。これが Mathematica の場合かどうかはわかりません。CUDAFunctionLoad[] は 2.0 機能でコンパイルすることを知っていると思います。誰でも知っていますか?

どんな提案も非常に役に立ちます!

0 投票する
4 に答える
378 参照

wolfram-mathematica - Combinatorica`PlanarQが機能しない

PlanarQが「True」または「False」を返さないのはなぜですか?