広範囲のパラメータ空間に対して非線形方程式系を解かなければならない。私は最初の開始点に敏感なFindRootを使用していますので、数式をループやテーブルに入れるのではなく、手作業で試行錯誤してプロットする必要があります。Mathematicaが行列を追加する
私がしたいのは、固定数の列で行列を作成することですが、行数は可変であるため、新しい結果を追加するときや、それらを解決する際には続けることができます。
私は2つの変数について解くと、その後、変数の変数も関数g(XX、YY)を格納しています{{{xx, yy}} = {x, y} /. FindRoot[{f1(x,y) == 0,f2(x,y)==0}, {x,a},{y,b}],
g(xx,yy)} >>> "Attempt1.txt"
:
は今、私のようなものを使用しました。
これは私にとってはうまくいくようですが、結果はマトリックスではなくなりましたが、データはテキストタイプのものとして保存されています。
私はFindRootを手で解決するたびに行を追加し続ける行列やデータベースにとどめることができますか?ここでも、私はFindRootを手で行う必要があります。なぜなら、FindRootは始点に敏感で、最初にプロットしなければ良い始点を知らないからです。
どうもありがとう
にちょうど繰り返し呼び出しているので、これはもう行列ではない理由を私は理解していない、ループの中でそれを置くことができます。この{Put {{{1,2}、{3,4}}、 "tmp.mx"]を考えてみましょう。再度インポートした後は全く同じ式である["tmp.mx"] 'を取得してください。 – halirutan
すべてを1つのエントリとして保存しています。私はdata = Import ["temp.mx"]とし、次元[data]を実行したとします。答えは1です。情報の抽出方法はわかりません。データ[[1]]を実行すると、データ全体が出力されます。私は個々の情報を抽出することはできません。私がdata [[1,1]]を実行するとエラーになります。 – user1169757
私はForループの中で{x1、x2、x3、x4、x5、x6、x7、x8、x8、x10} >>> "temp.mx"を22回繰り返しました。今度はdata = Import ["temp.mx"、 "Table"]を実行してDimensions [data]を実行すると110になります。実際には10列と22行の行列が必要でした。行/レコードごとに10個のデータが5個のデータとして格納され、合計サイズは5x22 = 110になります。たとえば、data [[1]] = {"{24258.225756005108"、 "0.0001254874133927587"、\ "0.10668678000535163"などです。データ[[i、j]]がi番目のレコードのj番目の値を表すクリーンな10x22行列でデータを取得できますか?ありがとう。 – user1169757