• ベストアンサー

Maximaのコマンドについて

こんにちは、 Maximaの初心者です。 下記を教えて下さい。 その1 X=3; Y=3; Z=X+Y; Print[“XとYを足すと”,Z,“になります。”]; とするには、どうすれば良いでしょうか?Printのコマンドがよくわからないです。 その2 4/3 を、数値で表示させるには、どのようなコマンドを使用すればよいでしょうか? 答えは、1.3333になります。 その3 x=3 と定義して、その後、xを初期化して、xはxと定義する方法は? その4 y=x^2+1 で、x=z+1 として、 y=(z+1)^2+1 にする方法 式の代入するコマンドは?

noname#176684
noname#176684

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

その1 maximaは変数x,y,z 等に数や式を結びつけるには等号”=”ではなく コロン”:”を使います。 従って、 x:3; y:3; z:x+y; となります。 maxima内蔵のコマンドは半角小文字を使います。 従ってプリントのコマンドは print( )です。 また文字はダブルクオテーション(")で囲みます。 よって、print(x,"plus",y,"is",z)$ と打つと、     3 plus 3 is 6 となる。 ちなみに、maximaは現在のところ日本語は使えません。 その2 4/3 を、数値で表示させるには、float関数やnumerを使います。      float(4/3);       1.333333333333333 numerを使うときは簡単で       4/3,numer;       1.333333333333333 でよい。 その3 x=3ではなく x:3すると、 x; 3 変数xと数値3を切り離すにはkill()を使う。    kill(x); x; x となる。 その4 その1のx,y,zと区別するために結びつきを切り離しておく。      kill(x,y,z); 式の代入にはsubst(a, b, c)関数がある。 この書式はcの中のbにaを代入することを表しいている。    subst(z+1,x,y=x^2+1);      y=(z+1)^2+1 または、分かり易い方法として、    subst(x=z+1,y=x^2+1); y=(z+1)^2+1 でもよい。    しかし、より簡単な方法を勧めたい。     y=x^2+1,x=z+1; でよい。      y=(z+1)^2+1    この方法は     ev(y=x^2+1,x=z+1);    の省略形である。

noname#176684
質問者

お礼

よくわかりました。 有難うございました。

関連するQ&A

  • maxima の関数について

    maxima を使ってまだそんなに知識が無い者です。 ある1変数関数において、定義域を範囲指定しておき、 その定義域において最大値をとる場合の定義域の値を返してくれる関数とはあるのでしょうか? 説明が下手なので具体例を出しますと、 例えば、f(x) = x^3 + 2*x + 1 という式があるとして、 そこで定義域を仮に、 x = [ -3 , 5 ] とした場合、 この範囲においてf(x)が最大値をとる際の x座標の値を返すような関数が maxima にはあるのでしょうか? 万が一そう言った関数がない場合でもこの関数を組み合わせればできるといったような 助言を与えてくださる方がいましたら是非お願いします。

  • wxmaximaで文字式の通分コマンドの使い方?

    maxima-5.43.0で、文字式の通分はどのようにしたら良いですか。下記URLの乙部厳己さんのpdfに、「xthru(exp) 通分して整理する」とだけ載ってます。このコマンドの使い方と、例えば、下記のような場合の処理の仕方を教えてください。 (3x-2y+1)/(2x+3y)-(x+2y)/(2x-y-5) http://argent.shinshu-u.ac.jp/lecture/files/pdf/maxima.pdf

  • Maximaの初心者です。 お手数ですがMaximaの使い方を、ご教示

    Maximaの初心者です。 お手数ですがMaximaの使い方を、ご教示願います。 制御の教科書に出てくる、簡単な閉ループの伝達関数の式を計算したいのですが、Maximaではどのようにしたら求められるのでしょうか? y=e*C*P; e=r-y; y=(r-y)*C*P; --> y(1+C*P)=r*C*P --> y/r=(C*P)/(1+C*P) なお、この計算は手でも出来ますが、複雑なブロックの場合はやはり、Maximaに任せたいのです。 お手数ですが、よろしくお願いいたします。

  • maximaでのグラフ描画について

    お世話になります。 数式ソフトmaximaで、xの変域で場合分けされたグラフを描きたいのですがどのようにプログラムすればよいのか詳しい方ご教示願います。 例えば次のような式です。 : y=x^2 (x<0), y=x (x≧0) これを同一グラフ上に描きます

  • Maximaでグラフを描くために

    http://www1.bbiq.jp/kougaku/maxima.htmlのサイトにしたがって、file:///C:/Documents%20and%20Settings/サムソン/Local%20Settings/Temporary%20Internet20Files/Content.IE5/2TC7QXU5/maxima_plot3d_graph%5B1%5D.png (z=√(x2+y2))のグラフを描こうとしたのですが、wxMaximaでplot3d(sqrt(x^2+y^2),[x,-100,100],[y,-100,100],[grid,20,20]);と入力すると ____ Maxima encountered a Lisp error: Error in PROGN [or a callee]: Cannot create the file C:/Documents and Settings/サム・ン/maxout.gnuplot.Automatically continuing.To reenable the Lisp debugger set *debugger-hook* to nil. ____ に出てきて、出力できませんでした。 ファイル名の途中にある「サム・ン」がいけないのかと思い、コマンドプロンプトをつたって「samson」に使用者名を変更して再度試してみたのですがやっぱりダメでした。 どなたかお教え下されば幸いです。

  • maximaで方程式解の文字式のままの計算

    数式処理ソフトmaximaで、連立1次方程式を解いたのち、その解を別の式の中に文字式のまま使いたい場合どのようにすればよいのでしょうか。 たとえば、 solve([x+y=2、x-y=3],[x,y]) を解いてx=2.5,y=-0.5と出ている場合に、続けてz=x+2yと記述して計算させ、結果を1.5と表示させたいということです。 普通に記述するだけでは欲しい結果が得られません。 詳しい方ご教示ください。

  • Maximaの関数設定(初期設定)

    Maxima初心者ですが、wxMaxima0.8.0を使ってます。 あるホームページにより多項式の勉強をしていて、次数の取得hipow関数なるものが紹介されていましたが、多項式の次数を調べる(例えばf(x,y)におけるx+yの次数など)には不向きであるため、degreeという関数を設定しようとなっていました。 ―以下を初期設定ファイルmaxima-init.mac に書いておけば、次数を  求める関数degree が使えるようになります。 degree(f,x):=block([q,i,j],q:f, for i:0 while(q#0) do(j:i,q:quotient(q,x)),return(j) ); 初期設定ファイルmaxima-init.macが見当たりません。バージョンアップで、変わったのでしょうか。拡張子がmacだから?windowsだったらどうすれば? ちなみに、リスプファイルのmaxima-init.lispはありました。

  • Maxima-条件設定?

    x^2の平方根は±xですね?これをMaximaで計算すると、squr関数ではsqur(x^2)との答えしかかえって来ませんでしたので、^(1/2)としてみると、|x|という答えが返ってきました。 …話を簡単にするために、複雑な式であるものをxとして書きましたが、実はこの式の値は正であることに限定されています。すなわち、 「x^2の平方根を求めよ。ただし、x>0である。」 という問題の答えxを導きたいのですが、この但し書き以下のことをあらかじめ条件設定することは可能なのでしょうか?

  • maximaによる平方根と自然対数の混在式について

     PCソフト関係なのですが、内容が数学かと考えてこのカテゴリで質問させていただきます。  maximaによって平方根と自然対数が混在した式を解くには(たとえば log(x-1)/sqrt(x+1)=yでxを出す式 など)どのような関数を使えばいいのでしょうか? solveを使ってもうまく答えが出てきません。 よろしくお願いします。

  • 連立方程式の問題

    x+y+z=5 ……(1) y+z+w=8 ……(2) z+w+x=-2 ……(3) w+x+y=4 ……(4) この連立方程式を (2)-(3)より y=x+10 ……(5) (3)-(4)より z=y-6……(6) (5)(6)を(1)に代入 x+(x+10)+(y-6)=5 x+(x+10)+(x+10-6)=5 x=-3 以下代入していったところ x=-3,y=7,z=1,w=0という答になりました。 解答がないのですが、ためし算をしたところあっているようです。 解いたあとに(1)-(2)-(3)でz=1になることに気づきました。 同様に (1)-(3)-(4)でx=-3 (1)-(2)-(4)でy=7 と、x,y,zの答は最初に解いた答と一致しました。 ところが、 (2)-(3)-(4)でwを求めたところ w=-6となってしまいました。 こういう風に3つの式を引くやりかたは根本的に間違っているのでしょうか?