Cライクな使い方
MathematicaでもCや他の手続き型言語のように、for文を回して、各値ごとに答えを出したいときなどがあるでしょう。
二重ループを簡単に書いてみました。
a = {{x, x^2, x^3}, {x^4, x^5, x^6}, {x^3 + 2 x, x^4 - x, x^2 - 3}}; MatrixForm[a] For[i = 1, i <= 3, i++, For[j = 1, j <= 3, j++, Print[ D[a[[i, j]], x] ] ] ]
さらに、hoge.lengthのように、配列の長さをとってきてfor文の継続条件(C言語で言う2つ目の引数)に入れたいようなときは、このように書きます。
まずDimensions[a]でリストaの次元を返してくるので、{3,4}がここに入ります。そこの1つ目の要素を取り出したいときは{3,4}1、2つ目のときは{3,4}2・・・とするとそれぞれ3と4を得ることができます。
a = {{x, x^2, x^3}, {x^4, x^5, x^6}, {x^3 + 2 x, x^4 - x, x^2 - 3}, {x - 2, x^2 + x^9, x^100}}; MatrixForm[a] For[i = 1, i <= Dimensions[a][[1]], i++, For[j = 1, j <= Dimensions[a][[2]], j++, Print[ DSolve[y'[x] == a[[i, j]], y[x], x] ] ] ]