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]
   ]
  ]
 ]