var
arr: array of array of real;
...
SetLength(arr, 10, 20); // creates a 10 by 20 matrix
Плохой, но эквивалентный способ сделать это - сделать
SetLength(arr, 10);
for i := low(arr) to high(arr) do
SetLength(arr[i], 20);
Однако последний подход допускает "непрямоугольные" массивы.