ここから質問投稿すると、最大4000ポイント当たる!!!! >>

複雑な行列の計算をパソコン上で行いたいのですが、行列の要素を変数のまま計算してくれるソフトや方法はありませんでしょうか?

ちょっと質問の内容がわかりにくいかもしれませんが、たとえば
A =[cos(a)] B = [sin(b)]
とあった場合

A+B=[cos(a)+sin(b)]
のような解が欲しいのです。

MATLABで計算しようとしたのですが、計算結果が数値でしか得られなかったので困っています。

よろしくおねがいします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

趣旨が理解しがたいけど、元になる要素を「数値」ではなく「文字列」として入力し、計算式側でも文字式の連結と捉えれば良いだけでしょう。



例えば、
 A1=sin(30), B1=sin(40)
の時に、通常は
 C1=A1+B1
としてしまうので、計算結果が数値化してしまいますが、
 A1='sin(30), B1='sin(40)
と元になる要素の最初に「'(アポストロフィ)」を付けておき、
 C1=A1 & B1
とすれば、C1に「sin(30)sin(40)」と表示されます。

掛け算なのか足し算なのかを表示したければ、
 C1=A1 & " + " & B1
とすれば、C1に「sin(30) + sin(40)」と表示されます。

しかし、複雑な式を表現しようとすると、とっても見づらい上に入力にも手間がかかりすぎるので、あまり向かないと思います。
また、数式と数値の両方を得る方法はありません。

以上。
    • good
    • 0

数値演算したいのではなく、数式処理をしたいということですね。



使ったことはありませんが、これならできそうに思えます。
http://www.gulf.or.jp/~damayan/math/index.html

これでだめなら・・・
高価な専門的なソフトとしてはMathmaticaってのがあります。
Mapleってのもあるそうです。

参考URL:http://www.gulf.or.jp/~damayan/math/index.html
    • good
    • 1

計算させるのなら、こっちが良いかも。



参考URL:http://www.simplex-soft.com/ver5.html
    • good
    • 0

ます、SINやCOSは変数ではありません。

関数です。

関数ですから、結果は数値でしか返ってきません。

ご質問の内容では、数式展開のソフトという事になるかと思います。

数学はあまり得意でないので、ご希望に合うかどうかは判りませんが、下記URLをご参照ください。

参考URL:http://homepage2.nifty.com/autumn-soft/
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで計算すると2.43E-19などと表示される。Eとは何ですか?

よろしくお願いします。
エクセルの回帰分析をすると有意水準で2.43E-19などと表示されますが
Eとは何でしょうか?

また、回帰分析の数字の意味が良く分からないのですが、
皆さんは独学されましたか?それとも講座などをうけたのでしょうか?

回帰分析でR2(決定係数)しかみていないのですが
どうすれば回帰分析が分かるようになるのでしょうか?
本を読んだのですがいまいち難しくて分かりません。
教えてください。
よろしくお願いします。

Aベストアンサー

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるための指数表記のことですよ。
・よって、『2.43E-19』とは?
 2.43×1/(10の19乗)で、
 2.43×1/10000000000000000000となり、
 2.43×0.0000000000000000001だから、
 0.000000000000000000243という数値を意味します。

補足:
・E+数値は 10、100、1000 という大きい数を表します。
・E-数値は 0.1、0.01、0.001 という小さい数を表します。
・数学では『2.43×10』の次に、小さい数字で上に『19』と表示します。→http://ja.wikipedia.org/wiki/%E6%8C%87%E6%95%B0%E8%A1%A8%E8%A8%98
・最後に『回帰分析』とは何?下の『参考URL』をどうぞ。→『数学』カテゴリで質問してみては?

参考URL:http://ja.wikipedia.org/wiki/%E5%9B%9E%E5%B8%B0%E5%88%86%E6%9E%90

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるた...続きを読む

Qエルミート行列の固有値

エルミート行列の固有値は必ず実数になることはどうやって示せますか。

Aベストアンサー

どこの教科書にも載ってるような話だけど、
本で調べなかったの?

行列 A の転置共役を A* と書くことにする。
行列 H がエルミートであるとは、H* = H のこと。

H の固有値 λ に属する固有ベクトルを x と置く。
(x*)Hx = (x*)(Hx) = (x*)λx = λ(x*)x.
また、
(x*)Hx = (x*)(H*)x = ((Hx)*)x = ((λx)*)x = (λ*)(x*)x.
固有ベクトル x は零ベクトルではないから、
λ(x*)x = (λ*)(x*)x の両辺を (x*)x で割って、
λ = λ*. これは、λ の共役が λ と等しいこと、
つまり、λ が実数であることを示している。

Qe^(-x^2)の積分

e^(-x^2)の積分はどうやったらよいのでしょうか?
どなたか分かる方、よろしくお願いします。

eは自然対数の底でe^(-x^2)=exp{-x^2}

Aベストアンサー

ガウス分布に使いますね。
やりかたですね。一般的なものを参考程度までに、

xy座標の第一象限で原点を通る一辺aの正方形
と正方形に接する半径aの(1/4)円とr半径√2aを考えるんですね。
正方形の領域□でe^-x^2 をx方向に積分すると、
∫[0→a]e^-x^2dx
正方形の領域だからe^-y^2 をy方向に積分しても
同じ値になりますね。だから
∫[0→a]e^-x^2dx=∫[0→a]e^-y^2dy
ということは、x,yは独立に考えられるので、
∫[0→a]e^-(x^2+y^2)dxdy
={∫[0→a]e^-x^2dx}^2
という関係が出ますね。
だから、e^-(x^2)を積分する代わりにe^-(x^2+y^2)を積分してその√を取れば解が得られるという論法を利用するんですね。
四角形の領域で
I=∫[x,y:0→a]e^-(x^2+y^2)dxdy
を積分するにはちょっとなんで、四角形に接する大小の円で挟み撃ちを考えるんですね。
半径aの(1/4)円では、
極座標変換して、(x^2+y^2)=r^2, dxdy=rdrdθ
=∫[0→a]e^-(r^2)dr∫[0→π/2]dθ
=(1/2)(1-e^-a^2)(π/2)=(π/4)(1-e^-a^2)
同様に、半径√2aの(1/4)円では、
=(π/4){1-e^-(2a^2)}
だから、
x:0→a
√{(π/4)(1-e^-a^2)}<∫[0→a]e^-(x^2)dx
<√{(π/4){1-e^-(2a^2)}}
が回答ですね。これ以上は数値表を参照ですね。
a→∞ であれば、
∫[0→∞]e^-(x^2)dx=(√π)/2
が回答になりますね。
広域積分でも検索すれば参考になるかも。

ガウス分布に使いますね。
やりかたですね。一般的なものを参考程度までに、

xy座標の第一象限で原点を通る一辺aの正方形
と正方形に接する半径aの(1/4)円とr半径√2aを考えるんですね。
正方形の領域□でe^-x^2 をx方向に積分すると、
∫[0→a]e^-x^2dx
正方形の領域だからe^-y^2 をy方向に積分しても
同じ値になりますね。だから
∫[0→a]e^-x^2dx=∫[0→a]e^-y^2dy
ということは、x,yは独立に考えられるので、
∫[0→a]e^-(x^2+y^2)dxdy
={∫[0→a]e^-x^2dx}^2
という関係が出ますね。
...続きを読む

Q線形代数の余因子行列の求め方。

見づらくて申し訳ないのですが、
下の3行3列の行列の余因子行列の求め方を教えてください。

  | 3 -2 1 |
|A|= | 1 4 7 |
| 5 3 6 |


(数字の両端の棒は、1行目から3行目まで絶対値です・・・)
表示がうまくいかないので、
1行目が1列目から3 -2 1 で、
2行目が1 4 7 で、
3行目が 5 3 6 の数字です・・・。
よろしくお願いします。

Aベストアンサー

もとの行列をA=[a(i,j)]とすると
Aの余因子行列とは
(i,j)成分がa~(j,i)となる行列で
A~で表します

ようはAの各成分の余因子を全部求めて
転置行列みたいな感じで並べればいいだけです

まずa~(1,1)とa~(2,1)を求めて見ると
a~(1,1)=(-1)^(1+1)*3=3
a~(2,1)=(-1)^(2+1)*(-15)=15
よって
求めるA~の
(1,1)成分が3
(1,2)成分が15
となります
あと7回同じ作業を繰り返せば終わりです
余因子の求め方がわからなければURLを参考

参考URL:http://aglaia.c.u-tokyo.ac.jp/~yamamoto/Math/system/node8.html

Q偏微分の記号∂の読み方について教えてください。

偏微分の記号∂(partial derivative symbol)にはいろいろな読み方があるようです。
(英語)
curly d, rounded d, curved d, partial, der
正統には∂u/∂x で「partial derivative of u with respect to x」なのかもしれません。
(日本語)
ラウンドディー、ラウンドデルタ、ラウンド、デル、パーシャル、ルンド
MS-IMEはデルで変換します。JIS文字コードでの名前は「デル、ラウンドディー」です。

そこで、次のようなことを教えてください。
(1)分野ごと(数学、物理学、経済学、工学など)の読み方の違い
(2)上記のうち、こんな読み方をするとバカにされる、あるいはキザと思われる読み方
(3)初心者に教えるときのお勧めの読み方
(4)他の読み方、あるいはニックネーム

Aベストアンサー

こんちには。電気・電子工学系です。

(1)
工学系の私は,式の中では「デル」,単独では「ラウンドデルタ」と呼んでいます。あとは地道に「偏微分記号」ですか(^^;
その他「ラウンドディー」「パーシャル」までは聞いたことがあります。この辺りは物理・数学系っぽいですね。
申し訳ありませんが,あとは寡聞にして知りません。

(3)
初心者へのお勧めとは,なかなかに難問ですが,ひと通り教えておいて,式の中では「デル」を読むのが無難かと思います。

(4)
私はちょっと知りません。ごめんなさい。ニックネームは,あったら私も教えて欲しいです。

(2)
専門家に向かって「デル」はちょっと危険な香りがします。
キザになってしまうかどうかは,質問者さんのパーソナリティにかかっているでしょう(^^

*すいません。質問の順番入れ替えました。オチなんで。

では(∂∂)/

Q片持ち梁の固有振動数

片持ち梁の振動を利用した実験を行いたいのですが,固有振動数の計算方法に関して不明な点があります.

まず,単純な片持ち梁の固有振動数については下記の式で算出できると思います.

f=(λ/2πL)√(Eg/γ) [Hz]

ただし,
・λ:境界条件,振動モードによって決まる係数
・L:梁の長さ
・E:ヤング率
・γ:梁の単位体積あたりの重さ

さらにこの片持ち梁の先端に質量Wの物体を付加した場合の系の固有振動数の計算方法がわかりません.

実際に実験を行い,固有振動数は計測できているのですが,計算によって理論的に予測したいので,よろしくお願いします.

Aベストアンサー

 「梁の質量を考慮した」単純な片持ち梁の場合、レーリー法を使って「梁の質量を無視した」片持ち梁の先端に等価質量33/144m(m:梁全体の質量)が付加されている状態とみなせます(この計算は機械振動学の本に載っていると思います)。
 さらにこの片持ち梁の先端に質量Wの物体を付加した場合は等価質量にWを足して最終的な固有振動数は計算すればいいと思います。
 ちなみに「梁の質量を無視した」片持ち梁の先端に質量mを付加した系の固有振動数はf=(1/2π)√(3EI/ml^3)です(I:弾性二次モーメント,l:梁の長さ)。

Q行列の正定・半正定・負定

行列の正定・半正定・負定について自分なりに調べてみたのですが、
イマイチ良くわかりません。。。
どなたか上手く説明していただけないでしょうか?
過去の質問の回答に

>cを列ベクトル、Aを行列とする。
>(cの転置)Ac>0
>となればAは正定値といいます。
>Aの固有値が全て正であることとも同値です。

とあったのですが、このcの列ベクトルというのは
任意なのでしょうか?
また、半正定は固有値に+と-が交じっていて、
負定は固有値が-のみなのですか?

どなたかお願いしますorz

Aベストアンサー

まず、行列の正定・半正定・負定値性を考えるときは、
行列は対称行列であることを仮定しています。
なので、正確な定義は、

定義 n次正方 "対称" 行列 A が正定値行列であるとは、
『ゼロベクトルではない任意の』n次元(列)ベクトル c に対して、
(cの転置)Ac>0
となることである。

です。

対称行列Aが正定値なら、その固有値はすべて正です。
(cとして固有ベクトルをとってみればよいでしょう。)
逆に、対称行列Aの固有値がすべて正なら、Aは正定値行列です。

ただし、対称行列ではないAの固有値がすべて正だからといって、
(cの転置)Ac>0とは限りません。
例えば、
A =
[ 1 4 ]
[ 0 1 ]
とすると、Aは対称行列ではなく、固有値は1です。
しかし、
(cの転置) = [ 1, -2]
とすると、
(cの転置)Ac = -3 < 0
となってしまいます。(実際に計算して確かめてください。)
なので、行列Aが対称行列であるという条件はとても重要です。

また、半正定値の定義は、上の定義で
『ゼロベクトルではない任意の』 --> 『任意の』
と書き直したものです。
このとき、半正定値行列の固有値はすべて0以上です。(つまり0も許します。)
逆に、対称行列の固有値がすべて0以上なら、その行列は半正定値です。

さらに、負定値の定義は、『ゼロではない任意の』ベクトルcに対して
(cの転置)Ac<0
となることです。
固有値についてはもうわかりますね。

まず、行列の正定・半正定・負定値性を考えるときは、
行列は対称行列であることを仮定しています。
なので、正確な定義は、

定義 n次正方 "対称" 行列 A が正定値行列であるとは、
『ゼロベクトルではない任意の』n次元(列)ベクトル c に対して、
(cの転置)Ac>0
となることである。

です。

対称行列Aが正定値なら、その固有値はすべて正です。
(cとして固有ベクトルをとってみればよいでしょう。)
逆に、対称行列Aの固有値がすべて正なら、Aは正定値行列です。

ただし、対称行列...続きを読む

Qmaximaでexpand()を実行するとエラーが出るのですが

maximaを使ってたとえば次の式を展開をしようとすると

expand((a-3b+2c)^2)

Incorrect syntax: C is not an infix operator

と出てしまうのですが何がいけないのでしょう
どなたかよろしくお願いします。

Aベストアンサー

expand((a-3*b+2*c)^2)
と定数と変数の間に掛け算記号の「*」を入れてください。


人気Q&Aランキング