問題タブ [mathematica-frontend]

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 投票する
4 に答える
1247 参照

wolfram-mathematica - Times と NonCommutativeMultiply、差を自動的に処理

可換でないはずの記号がいくつかありますが、方程式を作成するときにどの式がこの動作をするかを覚えておく必要はありません。

MakeExpression を使用して生のボックスに作用し、適切な場合 (たとえば、シンボルの一部が非可換オブジェクトである場合) に自動的に乗算を非可換乗算に引き上げることを考えました。

この種の構成を経験したことがある人がいるかどうか疑問に思っていました。

ここに私がこれまでに持っているものがあります:

これは、乗算ステートメントである式を正しく識別しているようです。

したがって、基になる式のボックスを条件付きで書き換えることができるかもしれないということは問題外ではないようです。しかし、これを確実に行う方法は?

式を取り上げると、これは、パターン マッチャーとルール セットを処理するための重要な操作のように見えるようRowBox[{"e","f","*",RowBox[{"g","**","h"}],"*","i","j"}]に書き直す必要があります。RowBox[{"e","**","f","**",RowBox[{"g","**","h"}],"**","i","**","j"}]

私と一緒に経験した人からの提案に感謝します。

デフォルトの動作と乗算の順序を変更せずにこれを行う方法を見つけようとしています。

ありがとう!:)

ジョー

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

wolfram-mathematica - コマンドラインからノートブックを評価する方法は?

コマンドラインから(つまり、カーネルをコマンドラインモードで実行しているときに)Mathematicaノートブックをどのように評価できますか?

リモートマシンで作業しているとします。ノートブックをm-fileに変換して評価することは可能ですが、ノートブックを使用して直接これを行うことができるかどうか知りたいです。


これは私がこれまでに持っているものです:

まず、リモートLinuxマシンでヘッドレスXサーバーを起動して、フロントエンドをそこで実行できるようにする(そしてノートブックを開く)必要があります。ローカルマシンで作業している場合は、この手順をスキップしてください。

この後、私はMathematicaカーネル(math)を起動し、次のことを行いました。

UsingFrontEndノートブックを開くにはフロントエンドが必要なので、使用する必要があります。test.nbには、を含む単一の入力セルがありa=1ます。

ノートブックを評価しようとすると、どうやらダイアログReturn[]が表示され、戻るために使用する必要があります。入力行が再び1からカウントを開始する理由がわかりません(新しいカーネルがフロントエンドによって開始されましたか?)a値を取得しなかったことに注意してください。

ダイアログから戻った後も、aまだ値がありません。

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

wolfram-mathematica - フロントエンド トークンが実行可能かどうかの検出

フロントエンド トークンが実行可能かどうかを検出するにはどうすればよいですか? または、フロント エンド トークンの実行に失敗したかどうかを検出するにはどうすればよいですか?

例: 何も選択されていない場合、[編集] -> [コピー] コマンドは使用できません。 FrontEndTokenExecute["Copy"]この場合、単にビープ音を鳴らしますが、失敗したことを示す (プログラムによる) 表示はありません。

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

wolfram-mathematica - カーネルとフロントエンドの通信を理解する -- フロント エンドがフリーズするのはなぜですか?

編集:これを再現できるかどうかの確認だけでも役に立ちます。これを試すのに必要なコンピューターは 1 台だけです (リモート接続は必要ありません)。

更新他の人はこれを Mac または Win7 で再現できないようです。そのため、WinXP 固有または私のマシン固有のいずれかです。この時点で、私はあきらめています。


リモート カーネルの問題をデバッグできるように、フロント エンドとカーネルの通信方法に関するチュートリアルがあるとよいでしょう。そのような一般的な回答 (または他の場所のチュートリアルへのリンク) は大歓迎です。Sascha Kratky によるRemote Kernel Strategiesについては既に知っています。

ここで実際的な質問です。 リモート マシンに何らかの方法で接続すると (たとえば、リモート カーネル戦略を使用するなど)、フロント エンドは遅かれ早かれフリーズします。どうすればこれを防ぐことができますか?

単一のマシンで問題を再現する方法は次のとおりです (リモート接続は必要ありません)。

  1. 新しいカーネル構成を作成します (評価メニュー -> カーネル構成オプション...)。

    詳細オプションを選択します。

    MLOpen への引数:

    (コンピュータの IP アドレスに置き換えYOUR-IP-HEREます。Windows ではipconfig、コマンド ウィンドウに入力することで取得できます。)

    カーネルを起動するシェル コマンド: 空のままにします (手動で行います)。

  2. 新しいノートブックを開き、ノートブックのカーネルを今セットアップしたものに設定し、何かを評価します ( 1+1)。

  3. ここで、接続がタイムアウトする前にカーネルを手動で起動する必要があります。mathそのため、コマンド ライン モードで新しいカーネル ( ) を起動し、以下を評価します。

    これで接続が確立され、すべてが正しく機能しているように見えます (フロント エンドのピンク色のメッセージ ウィンドウの 1 つのメッセージを保存します)。

  4. 評価しManipulate[n, {n, 0, 100, 1}]ます。まず、これもうまくいくようです。スライダーで遊んでみましょう。遅かれ早かれ、フロントエンドはフリーズし、強制終了する必要があります。私にとっては、スライダーを離さずに最大 10 秒間上下にドラッグするだけで十分です。

フロントエンドがフリーズするのはなぜですか? すべてが正しく機能するように、フロントエンドとカーネルの間に TCPIP モード接続を作成するにはどうすればよいですか?


いくつかのメモ:

  • 私はWindows XPを使用しています。
  • を使用すれば問題は発生しませんLinkProtocol -> "SharedMemory"
  • Evaluation -> Abort Evaluation を使用して計算を中止すると、正しく機能します。
  • Links[]私はそれを使用して確認しMathLink`$PreemptiveLinkMathLink`$ServiceLink作成してLinkConnectedQ[]返品Trueします。

Manipualate繰り返しますが、フロント エンドはスライダーを数秒間ドラッグし続けた後にのみフリーズすることに注意してください。

MathGroup の同じ質問へのリンク。

関連:リモートカーネルが機能するためのファイアウォール設定(Mathematica)

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

dynamic - 変数の堅牢なリアルタイム モニターの作成

次のような変数のリアルタイム モニターを作成できます。

x(これは、たまたま のようなものであれば、より興味深く便利です$Assumptions。値を設定してから忘れるのはとても簡単です。)

残念ながら、カーネルが再起動されると(Quit[]、その後何かを評価する)、これは機能しなくなります。パレットには、これ以上の値の変化は表示されませんx

カーネルセッション間でも機能し続けるようにこれを行う方法はありますか? カーネルを頻繁に再起動していることに気づきました。(結果のパレットによってカーネルが自動的に開始される場合は、それで問題ありませんQuit。)


更新: コメントで述べたように、評価して終了した場合にのみパレットが機能しなくなることが判明しましたQuit[]。を使用Evaluation -> Quit Kernel -> Localすると、動作し続けます。


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

user-interface - タブ付き Mathematica ノートブックの作成方法

タブ付きインターフェイスでノートブック (一連のセル) を作成および編集する方法はありますか? そのようなインターフェースは、TabViewまたは他のツールで作成できますか? フロントエンドをゼロから作れば可能だと思いますが、Wolframの標準フロントエンドで何か方法はありますか?


私がこの質問をする動機は 2 つあります。まず、Microsoft Office OneNote の代わりに Mathematica ノートブックを作成したいと考えています。第二に、Mathematica で作業しているとき、複数の個別のウィンドウを開くよりも、タブ付きのインターフェースの方がうまく機能するかどうか疑問に思っています。

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

wolfram-mathematica - スクリプトから作成された通常のノートブックが自動的に最小化されるのはなぜですか?

コードは簡単です:

ただし、ノートブックのウィンドウは最初に最小化され、クリック (最小化を解除) すると、すぐに再び自動的に最小化されます。Option WindowFrame->ModelessDialog を使用するとそのままになりますが、この場合だけの理由はわかりません。誰かが私にこの振る舞いを少し説明してもらえますか? 私は数学を数日使用していますが、ドキュメントでこれを見つける方法がわかりません。ありがとう。PS私はGnomeでDebian 6を使用しており、Mathematica 8の試用版はうまく機能します。

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

wolfram-mathematica - Mathematicaノートブックでセルタグを自動番号付けする方法は?

Mathematica-8ノートブックの自動採番セルの指示に従おうとしました。

http://reference.wolfram.com/mathematica/tutorial/AutomaticNumbering.html

4つのテキストセルを備えた小さなノートブックを作成しました

の直前にカーソルを置き、メニューの項目をfoo使用してダイアログボックスを表示しました。ドロップダウンでアイテムを選択し、ラジオボタンをクリックして、Huzzahを選択しました。おそらくノートブックのタイプの最初のセルを参照して、直前に番号1を取得しました。私は今見ますInsertAutomatic numberingCreate Automatic Numbering ObjectCounterTextThis counter objectfooText

dot space見栄えを良くするために、1の後に自分のものを挿入します

私も同じようにしbarて、期待されるものを見ます

barタイプの4番目のセルだからですText。素晴らしい。quxここで、セルとの独立した記数法を作成したいと思いますblancmangeCellmenu 、、Cell Tags...itemを使用し、セルとAdd/Remove Cell tags... にタグを付けます。私はmenu、、itemを使用して、それらがそこにあることを確認します。確かに、それらはノートブックに表示されます(ここでは、表示を模倣しようとはしませんが、Dropboxパブリックに私のノートブックへのリンクがありますご覧になりたい場合は、この質問の下部にあるフォルダ)。次に、カーソルを前に置き、メニュー、アイテムを使用します。今回は、ユーザーが作成したタグを選択し、次に、 [OK]をクリックすると、ゼロになります。前に同上testquxblancmangeCellCell Tags...Show cell tagsquxInsertAutomatic numberingUse the counter value corresponding to the location of:The first cell with the tag:testblancmangedot私の最終的な(悪い)結果は、私自身と豚に小さな口紅を置いた後space、次のようになります

存在しないタグを参照しようとすると、

Mathematicaは何かを認識しましたが、私が期待したり必要としたものは認識しませんでした。

Item Numberedまた、アイテム内のアイテムを試したことも言う必要がありFormatますが、2つの問題があります。(1)1から番号付けを再開する方法がわからないため、Item Numberedセルのすべてのブロックが同じ番号付けのシーケンスに属します。アイテム。ここで1、2、3、次に4、5、6、後で、7、8、9、さらに後でなどを取得します。実際には、個別に番号が付けられたアイテムのブロックが必要です:1、2、3、ここ、1、2 、3以降、1、2、3以降など。(2)さまざまな種類のセルに番号を付ける必要があるため、独自のタグを作成して、それらの追跡を制御する必要があります。

アドバイスをいただければ幸いです。

これが私のささいな小さなノートへのリンクです。

CellTagsAutonumbering.nb

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

wolfram-mathematica - Mathematica ノートブック スタイルで CellFrameLabels を入力する方法は?

これらの他の回答の素晴らしいアドバイスに従って、番号付きのセルフレームラベルを取得することに取り組んでいます

セル定義を CellFrameLabels 定義に拡張する

Mathematica ノートブックでセルタグに自動番号を付ける方法は?

そして私はほとんどそこにいます。クリエイティブ/パステル カラー スタイルシートのセクション スタイルにセクション番号を追加したいと考えていました。新しいノートブックを作成しました (パブリック ドロップボックスにコピーがあります)

http://dl.dropbox.com/u/1997638/CellFrameMargins.nb

「フォーマット」メニューに移動し、「スタイルシート\クリエイティブ\パステルカラー」、「フォーマット」、「スタイルシートの編集」、「スタイルの選択:セクション」を選択し、スタイルシート編集ダイアログの上部にあるCreative\Pastelcolor.nbをクリックします.

これにより、別のスタイルシート エディターが開き、「タイトルとセクション セルのスタイル」の下にある 4 番目の項目に移動し、そこにある 2 番目の項目「セクション」に移動します。そこにマウスの十字線を置いてクリックし、[セル] メニューの [式の表示] 項目を選択すると、次の式が表示されます。

すごい!すべての詳細を明らかにするか、そう思った。特に、CellFrame アイテムは{{0, 0}, {1, 3}}、セクション スタイルでセル フレーム ラベルを並べるために必要な情報を提供してくれます。では、ノートブックの steylsheet エディター ダイアログに戻り、前述の回答に従って、次のように入力します。

CellFrameMargins -> 4試行錯誤して見つけたルールは、セル フレームの上部と下部を右側のセクション スタイルの残りの部分に揃えるために必要です。ほとんど機能していないことを報告するのは悲しいことです。CellFrameLabels のテキストとフレームの間にギャップがあり、それらのギャップを埋めたいと考えています。Section セルのフォントとまったく同じであるにもかかわらず、CellFrameLabels のフォントが上下に十分に伸びていないかのようです。ラベルの背景を埋める方法が見つかりません。試しBackground -> RGBColor[...]てみました、明示的なフォントを入れてみました、CellFrameMargins と CellFrameLabelMargins を多くの組み合わせで設定しようとしましたが、役に立ちませんでした。

私は困惑しており、アドバイスをいただければ幸いです。

スクリーンショット