問題タブ [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 に答える
752 参照

wolfram-mathematica - Mathematica ゴール プログラミング モデルの定義

大学のコース プロジェクトで Wolfram Mathematica 8 を評価しています。

ゴール プログラミング モデルを定義するのに苦労しています。第一に、私は数学が本当に不足しているからです:)第二に、公式ドキュメントで見つけたもの(「多目的最適化:目標プログラミング」を探してください)が貧弱だからです。

ソフトウェア プロジェクトのメンテナンス フェーズでリソースを割り当てるための小さなモデルを定義しようとしています。これは非公式のモデル定義です:

インフォーマルゴールプログラミングモデル

機能は気にしないでくださいカーリーファイ。時間数がしきい値を超えた場合に 1 を返すアクティベーション関数です。しきい値は、バグを解決するために必要な平均時間数です。

このモデルの有用性についてコメントしないでください。これはコースの目的ではありません。さらに、ここでの時間数は、テスト用にカジュアルです。

この非公式モデルを Mathematica ゴール プログラミング モデルに表現するための支援を求めています。つまり、構文と組み込み関数に問題があります。

追加情報が必要な場合は、ここにコメントしてください。提供します。

モデレーター向け: タグ linear-goal-programming および model-definition はここで役立つ可能性がありますが、私はそれらを作成する評判がありません。

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

wolfram-mathematica - 方程式の式を解く

次の式を解きたいです。

ここに画像の説明を入力

次の方程式の場合:

方程式

どのように?そのための機能はありますか。これはほんの一例です。

  • 式を解くと、式に代入して式の値を求めるため、a+b = c^(1/3)

ありがとう!!

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

math - Mathematica 8での2次元ルンゲ・クッタ法

Mathematica 8でのプログラミング中に問題が発生しました。コードは次のとおりです。

問題は、ルンゲ・クッタ法を実装しようとしているということです。f[x_]そして、私は実際に成功しましたが、 1 次元の関数のみでした。このコードは 2 次元用ですが、単に機能せず、理由がわかりません。以下は、1 次元のみのコードの例です (「RungeKutta3」を呼び出すときに、関数を定義するために最初の行と最後の行を変更する必要があることに注意してください)。

要約すると、2 次元の関数にルンゲクッタ法を実装するにはどうすればよいですか??

あなたが私を助けることができれば、私は感謝します.

前もって感謝します!

PS: ルンゲ・クッタ法は次数 3 です。

----------------------

問題が解決しました!コードを確認してください。誰か助けが必要な場合は、質問してください。

私は基本的にどんな二次方程式も解くことができるMathematica プログラムを持っていることを知っています! ルンゲクッタ法で。関数を挿入するだけです

ここで、t は独立した値、y1 は関数自体 y(t)、y2 は y'(t) です。次の方法で関数を呼び出します。

ここで、aは初期の "t" 値、bは最終的な "t" 値、[アルファ]は関数の初期値と 1 次導関数 ({y1(a),y2(a0)} の形式で指定)、n表現したい等間隔の点の数。Fは、 fに与える関数にもかかわらず、挿入する必要がある関数です

ご不明な点はお気軽にどうぞ!! PS: ルンゲ クッタ問題は、初期値の問題を含む微分方程式を解きます。境界値の問題を解くためのベースとしてこのプログラムを使用しました。

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

wolfram-mathematica - リモート並列カーネルと LibraryLink -- 連携させるには?

Mathematica の C 拡張機能 (LibraryLink または MathLink -- 現在は LibraryLink を使用しています) をリモートの並列カーネルで使用した経験のある人はいますか?

要するに、サブカーネルがリモート マシンで実行されている場合、並列評価と非並列評価の両方で、LibraryLink で定義された関数 ( CreateLibraryおよびLibraryFunctionLoadを参照) を透過的に使用するにはどうすればよいでしょうか?

サブカーネルがリモートマシンで実行されているときに、通常は として、または並行して ( と同じ)呼び出すことできるlibraryFun関数 (C で記述) を使用できるようにするセットアップ手順を探しています。libraryFun[args]Parallelize@Table[libraryFun[arg], {arg, 0, 100}]ParallelTable[]

メインカーネルをリモートで実行することも、問題がなければもっと良いかもしれません。


アップデート

その間、私はいくつかの進歩を遂げました。ここで説明します。

まず、ParallelEvaluateすべての並列カーネルで式を評価します。C 拡張機能のソース ファイルがリモート マシンにコピーされている場合は、次のようにコンパイルできます。

これは一度だけ行う必要があります。ライブラリはメイン カーネル マシン上で既にコンパイルされていると仮定します。

この後、後続のすべてのセッションでFindLibrary、メイン マシンとリモート マシンの両方で使用してライブラリをロードできます。

そして、ここで問題が発生します。 パスが異なるためmyFun、メイン カーネルと並列カーネルで値が異なります。

問題は、 の値がメイン カーネルと並列カーネルの間で誤って同期されないようにするにはどうすればよいかということです。myFun

これが偶発的にどのように発生する可能性があるかを、孤立した例で示します。

xメインカーネルの設定値:

リモートカーネルでも同じ値を取得することに注意してください。

x並列カーネルで別の値を設定し、それが保持されていることを確認します。

Parallelizeを含むものに「無邪気に」使用するようになりましたx:

そして、メインカーネルとサブカーネルの間で の値がどのようxに再同期されるかを確認してください。

新しい質問は、特定のシンボルがメインカーネルとサブカーネルの間で自動同期されないようにするにはどうすればよいですか?

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

wolfram-mathematica - URLからデータをインポートする

セントルイス連邦準備銀行には、次のようなさまざまなWebページで利用できる優れたデータセットがあります。

http://research.stlouisfed.org/fred2/series/OILPRICE/downloaddata?cid=32217 http://www.federalreserve.gov/releases/h10/summary/default.htm http://research.stlouisfed.org/ fred2 / series / DGS20

データセットは毎日更新されます。私は毎日のデータに興味を持っている傾向があります(URLの上記の設定を参照してください)

これらの種類の価格またはレートのデータストリーム(上記のURLでCSVまたはExcelファイルとしてアクセス可能)を直接Mathematicaにインポートしたいと思います。

Importing []に関するドキュメントを見てきましたが、このようなことを行う方法についてのドキュメントはほとんどありません(実際にはありません)。

ページに移動し、特定のファイルと形式を選択するためにいくつかのデータを送信し、ダウンロードをトリガーしてから、自分のマシンからダウンロードしたデータにアクセスする必要があるようです。サイトから直接データにアクセスできればさらに良いです。

Wolfram Alphaがこの種のことを簡単にすることを望んでいましたが、私は成功していません。

FinancialData[]この種のことは当然のように思えますが、とにかくそうすることはできません。財務データには多くの機能がありますが、このようなものを取得する方法がわかりません。

誰かがこれについて何か経験がありますか、または誰かが私を正しい方向に向けることができますか?

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

wolfram-mathematica - Wolfram Mathematicaのニューラルネットワークパッケージは並列ではありませんか?

非常に強力なハードウェアではありますが、非常に大きなニューラルネットを作成しました。NeuralNetworksのパッケージのNeuralFit []が1つのコアしか使用しておらず、最大容量まで使用していないことに気付いたときのショックと失望を想像してみてください。失恋しました。NN実装全体を最初から作成する必要が本当にありますか?それとも私は何か簡単なことを逃しましたか?

私のネットは、100個の出力を生成するために300個のニューロンの2つの隠れ層に200個の入力を取りました。何兆もの計算について話していることは理解していますが、ハードウェアが弱点であることがわかっている限り、アップグレードすることができます。しばらく放置すれば、このようなネットのトレーニングをかなりうまく処理できるはずです(SATA-IIIでRAID-0SSDドライブを実行する24Gbの2000MhzCL7メモリを備えた4Ghz8スレッドマシン-私はかなり確信しています)。

アイデア?提案?ご入力いただきありがとうございます。

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

wolfram-mathematica - 棒グラフがMathematicaでデータ値0のラベルを隠すのを防ぐ方法は?

これを使用して棒グラフを作成します。

これdata = {7, 10, 0, 6, 0, 3, 5}

Mathematicaグラフィックス

問題は、一部のデータ値が0でありBarChart、それらのラベルを追加しないことです。代わりに、それはオープンスペースを残します。値が0であっても、ラベルを追加するにはどうすればよいですか?

これはMathematica8の場合です。

0 投票する
0 に答える
103 参照

wolfram-mathematica - 記憶された値を消去しますが、Mathematica のシンボル定義は消去しません

重複の可能性:
Mathematica: シンボルのキャッシュをクリアする方法、つまり、パターンのない DownValues の設定を解除する

このリンクは、Mathematica で再帰的な定義を高速化する方法を示しています。

ここで、この定義から f[5] を見つけたとします。次に、次の値がメモリに格納されます

ここで、後で計算を行うために、メモリから のキャッシュされた値を削除したいがf、f の定義は削除したくないとします。どうすればこれをきれいに行うことができますか。

私は試しUnset[f[n_]]ましたが、キャッシュされた値ではなく、定義が削除されます。私は試しClear["_Integer"]ましたが、これは何もしません。

キャッシュされた値を削除する方法を知っている人はいますか? f[2]...f[5]の定義はわかりませんfか? Unset[f[k]]kの値を事前に知らないため、何らかのタイプのループを記述せずに。読んでくれてありがとう

0 投票する
5 に答える
6211 参照

arrays - Mathematica で同じ長さの2つのリストを比較する効率的で簡単な方法はありますか?

A={a1,a2,a3,...an}との 2 つのリストが与えられた場合、 all の場合に限りB={b1,b2,b3,...bn}ます。A>=Bai>=bi

2 つのリストの論理比較が組み込まれていますが、 はありA==BませんA>B。このように各要素を比較する必要がありますか

And@@Table[A[[i]]>=B[[i]],{i,n}]

これを行うためのより良いトリックはありますか?

編集: 皆さんに感謝します。

さらに質問があります:

N 個のリストの中から最大リスト (存在する場合) を見つける方法は?

Mathematica を使用して、同じ長さの N 個のリストの中で最大のリストを効率的に簡単に見つける方法はありますか?

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

arrays - Mathematica を使用して、同じ長さの N 個のリストの中で最大のリストを効率的に簡単に見つける方法はありますか?

この質問は、同じ長さの 2 つのリストを比較する前のスレッドの続きです。

Mathematica で同じ長さの2つのリストを比較する効率的で簡単な方法はありますか?

A={a1,a2,a3,...an}との 2 つのリストが与えられた場合、 all の場合に限りB={b1,b2,b3,...bn}ます。これでリストがあり、存在する場合は最大のものを見つけたいと考えています。A>=Bai>=bikH={{a11,a12,a13,...a1n}, {a21,a22,a23,...a2n},...,{ak1,ak2,ak3,...akn}}

これが私のコードです:

Do[If[NonNegative[Min[H[[i]] - h]], h = H[[i]], ## &[]], {i, h = H[[1]]; 1, Length[H]}];h

これを行うためのより良いトリックはありますか?

編集:

これを次のような関数として定義したい:

maxList[H_]:=Do[If[NonNegative[Min[H[[i]] - h]], h = H[[i]], ## &[]], {i, h = H[[1]]; 1, Length[H]}];h

しかし、問題は上記のコードが 2 行にまたがっているということですが、これに対する修正はありますか? ここにいくつかのコードが機能していますが、それほど美しくはありません

maxList[H_] := Module[{h = H[[1]]}, Do[If[NonNegative[Min[H[[i]] - h]], h = H[[i]], ## &[]], {i, Length[H]}]; h]

また

maxList[H_]:=Last[Table[If[NonNegative[Min[H[[i]] - h]], h = H[[i]], ## &[]], {i, h = H[[1]]; 1, Length[H]}]]