• 締切済み

Mathematica式の挿入について

こんにちは、 下記のように、yを微分して得られる解をまたyに代入したいのですが y = (2/5)*(1 - x)*a^2 - (4/105)*(1 + 2*x)*a^3; y /. a -> Solve[D[y, a] == 0, a][[2]] と計算してもうまく計算できません。 どうしたら良いでしょうか? 要するに、下記にように Simplify[y /. a -> -((7*(-1 + x))/(1 + 2*x))] 計算して -((98*(-1 + x)^3)/(15*(1 + 2*x)^2)) を得たいのです。

みんなの回答

  • e_beam
  • ベストアンサー率40% (4/10)
回答No.2

失礼いたしました。ご質問の内容を勘違いしておりました。 関数yが極値を取るaの条件を求め、その極値での値を求める関数が求めたいということでしょうか? Mathematicaにあまり詳しくないので、次のような長い式しか思いつきません。おそらくご質問のような簡単な表現法があると思います。 Clear[a] y[x_] = (2/5)*(1 - x)*a^2 - (4/105)*(1 + 2*x)*a^3 sol = Solve[D[y[x], a] == 0, a][[2]] a = a /. sol Simplify[y[x]]

noname#33201
質問者

お礼

お返事ありがとうございます。 丁度、私もmathematicaの本を見て、同じ結果に達したところでした。 追伸 QNo.3118576もよろしくお願い致します。誰も回答を下さいません。

  • e_beam
  • ベストアンサー率40% (4/10)
回答No.1

例えば以下のような表現はいかがでしょうか? Clear[y, z]; (* yとzを初期化 *) y[x_] = (2/5)*(1 - x)*a^2 - (4/105)*(1 + 2*x)*a^3; (* 関数y : xは引数 *) z[x_] = y'[x] (* 関数yをxで微分したものを関数zとする *) z[2] (* 関数zに引数xに2を代入 *)

noname#33201
質問者

補足

お返事ありがとうございます。 答えが合わないですね、、、 Clear[y, z]; (* yとzを初期化 *) y[x_] = (2/5)*(1 - x)*a^2 - (4/105)*(1 + 2*x)*a^3; (* 関数y : xは引数 *) z[x_] = y'[x] (* 関数yをxで微分したものを関数zとする *) y10=z[2] (* 関数zに引数xに2を代入 *) y = (2/5)*(1 - x)*a^2 - (4/105)*(1 + 2*x)*a^3; y20=Simplify[y /. a -> -((7*(-1 + x))/(1 + 2*x))] Simplify[y10-y20]

関連するQ&A