• 締切済み

Mathematicaのoutputについて

Mathematicaで何か式を計算するとき、パラメーターをいくつか用い出力すると、パラメーターは使ったアルファベットのまま整理されて出力されます。 その後一度パラメーターに値を代入してから、もう一度前の式を評価するとパラメーターに値が代入されて出力されます。 ここで、パラメーターに一度数値を代入した後に、また式をアルファベットを用いた形で表示させるのはどうしたらいいでしょうか?(パラメーターの値の初期化とか?) よろしくお願いします。

noname#97208
noname#97208

みんなの回答

  • KENZOU
  • ベストアンサー率54% (241/444)
回答No.1

式を関数にすればよいでしょう。例えば足し算を考えます。 Moduleの中の{x,y}は局所変数となります。詳細は参考URLを参照してください。 【例】 In[]:=f[x_,y_]:=Module[{x,y},z=x+y;z]; f[2,3] f[4,5] Out[]=5 9

参考URL:
http://documents.wolfram.com/v5/Built-inFunctions/Programming/Scoping/Module.html

関連するQ&A

  • mathematica

    mathematicaで以下のような計算をしたいと思っています。 目標:y=f(x)がありy=1のときのxの値が知りたい そこで自分は逆関数を求めてからその式に1を代入して求めようと考えたのですがmathematicaで逆関数を求めるのはどのようにすればよいのでしょうか? もうひとつの解法としてシンプルに1=f(x)を解こうと試みてsolveを使ったのですが自分が今使おうとしているf(x)は中に積分が入っていたりと複雑なせいか、solveでは解けないと返ってきました。 上記のどちらでも構わないのでmathematicaで目標を求めるにはどのようにすればいいのでしょうか。よろしくお願い致します。

  • mathematicでの計算

     実験データ処理のため、試しにmathematicaの評価版を使用しようと思いました。  実験で得られた数値を式に代入し、その値を求めていきます。そのデータというはcvs形式で、6万点あります。  mathematcaで、式中に順々に数値を代入していき、それぞれの計算結果を表示させるにはどのようにすればよろしいのでしょうか?

  • Mathematicaの計算進行状況

    Mathematicaにおいて,あるパラメータnが0~1の範囲について,連立方程式をNSolveで解いてその結果をプロットさせようとしています。式は以下の通りです。(煩雑なので省略形です) Plot[{変数群}/.NSolve[{代数方程式群}, {変数群}], {n, 0,1}] ただいつ計算が終わるのかわからなくて・・・ いったい今どのくらい計算が進行しているのかモニタに表示する方法はないでしょうか??

  • Mathematicaで分母を有利化する方法

    Mathematicaで分母を有利化する方法を探しています。 自分で探してみたところ、FullSimplifyがそれに近かったのですが、なぜか分母がルートだけの分数を有利化してくれません。例えば「1/(1+ルート2)」ならFullSimplifyで「-1+ルート2」という答えを返してくれますが、「1/ルート2」のような形の数はFullSimplifyしても同じ数字が出力されます。 また、先の「1/(1+ルート2)」では、分子・分母に(-1+ルート2)を掛ければ解決しましたが、「1/(1+ルート3)」の場合もそのままの数値が出力されてしまいます。分子・分母に(-1+ルート3)と掛けると分母は2になります。これに更に分子・分母に2を掛ければ有利化が完了するはずなのですが、どうやら1回の処理で有利化できないと諦めてしまうようです。 これはなぜなのでしょうか?このような形の数も有利化する方法を教えてください。

  • $template->output();の時に 正しく出力されません。

    HTML::Template $template->param に代入後 $template->output();の時に 正しく出力されません。 意図しない構造になって代入されます aa bb nn cc mm dd としたいなら abbbbbb みたいになります  普通に文字を代入すると  $template->output();で 正しく代入されるので いろいろ コードのせいかとおもい いろいろ変えてみても かわらないので、 もしかして HTML::Templateのせい? と思い。 代入する値に 自分で作ったphpと同じhtmlspecialchars で いれたところ 正常に 意図する形だけは 表示されました。 htmlを伏せると意味がないので困っています ひょっとして HTML::Templateは paramにいれる値に htmlタグがついているとただしく代入できないのでしょうか?

  • MathematicaのTableでステップを指数関数的に変化させたい

    MathematicaのTableで Table[expr,{i,imin,imax,di}] とするとステップdiでリストを作成してくれますが, このステップdiを定数ではなく指数関数的に増加させたいのですが,可能でしょうか.例えばほかで増加分のリストを作成しておき,このリストを使ってTableに代入する等は可能でしょうか? あるいは出力がNullでなければ(Exportできる形式であれば)Tableでなくても結構です.WhileやDo等でやってみてうまく計算はしてくれたのですが,出力がNullのためExportできませんでしたので...WhileやDo等で出力をNullにしない方法でも結構です.ご教授願います.

  • Mathematicaで漸化式を解く方法

    Mathematicaで3変数の漸化式を解く方法を知りたいと思っています。 解きたい漸化式は、「 (j-k)*a(i,j,k) + k*a(i,j,k+1) + (i-j)*a(i,j-1,k)=0 」で与えられており、この漸化式を j を変数として解き、一般項 a(i,j,k) を i と k の式で表したいと考えています。 また、その初期値として、j=i-1のときの値、「 a(i,i-1,k)=(-1)^(k-1)*binomial(i,k)/i 」が与えられています。 (ただし、a(i,j,k)は3変数i,j,kの数列とし、*はかけ算を表し、binomial(i,k)は二項係数iCkを表すとします。) Mathematicaで、このような式を解くときに、どのように入力すればよいのかよくわかっておりません。 もしもご存じの方がおられれば、お教え頂けないでしょうか?

  • 楕円積分のプログラミング

    楕円積分を数値計算で求めようとしています。 Fortranを使っているのですが、まずニューメリカルレシピinCをFortranに直して実行しました。 きちんと翻訳して直したはずなので、それなりの値が出るのですが、どうも誤差が大きいようです。 それはMathematicaでの組み込み関数による計算と比較したことによります。どちらがより近いのかはわからないのですが・・・。(Mathematicaでの計算は正しい(かなり近い)値を返してくれているのでしょうか?どなたか知っておられたらそちらも教えていただけるとありがたいです。どの程度信用できるのか。。。) どちらにせよ、いいプログラムはないでしょうか? ちょっと難しいかもしれませんが、よろしくお願いします。

  • 活性化エネルギーについて

    いつもお世話になります。 熱による加速係数を計算する際、アレニウスモデル式を用いて 理論値計算をしているのですが、この式のパラメータの1つである Ea(活性化エネルギー)の値が分からないことが多く、現状では 0.7[eV]などの値を適当に代入して計算しています。実際は、物質や その故障(劣化)モードにより値が異なることは分かっているのですが、 それらをまとめられたものが見つけられないのです。どなたか、 ご存知の方はおられませんか? よろしくお願い致します。

  • 青チャート 基本例題10(分数式の恒等式)

    次の等式がxについての恒等式であるとき、定数a,b,cの値を求めよ。 -2x^2+6/(x+1)(x-1)^2=a/x+1-b/x-1+c/(x-1)^2 僕の解き方 まず分母を全て揃えます、その後、そろった分母の式(x-1)^2(x+1) を掛けます。 そうすると、分数でない形になり、数値代入法 x=1,-1,2を代入します。 答えは解答と一致しました。 解説 分数式でも、分母を0とするxの値(本問ではー1、1)を除いて、 すべてのxについて成り立つのが恒等式である。与式の右辺を通分して 整理すると両辺の分母は一致しているから、分子も等しくなるように、 係数比較法または数値代入法でa,b,cの値を定める。このとき、分母を払った多項式を考えるから分母を0にする値x=1、ー1を代入してもよい。(以下省略) 検討 分母を0にする値x=-1,1を代入してよいかが気になるところであるが、これは問題ない。なぜなら、代入したのは、x=1、ー1でも成り立つ等式である。したがって、xにどんな値を代入してもよい。 そして、この等式が恒等式となるように係数を定めれば、両辺を(x+1) (x-1)^2で割って得られる分数式も恒等式である。ただし、これはx=1、 -1を除いて成り立つ。 教えてほしい所 恒等式・・・含まれている文字にどのような値を代入しても、その等式 の両辺の値が存在する限り常に成り立つ等式を、その文字についての恒等式という。 この説明のその等式の両辺の値が存在する限りの部分がイマイチぴんとこないのでスルーしていたせいでこの解説を読んで混乱しています。 僕の解き方は解説のような解き方ではないんですが、明らかに0にしているので解き方としてマズイですか?? また、なぜなら、代入したのは、x=1、ー1でも成り立つ等式である。という部分がサッパリ理解できません。 消しちゃいけないのに、なぜ0になるような数値でもいいのでしょうか?? 後、ただし、これはx=1、-1を除いて成り立つ。なのはなぜですか??? 文章能力がないので非常に分かりずらいかもしれません。 意味がわからない部分があったら補足します。 教えて下さい。