1. В двумерных массивах в Си данные располагаются в памяти по строчно, т.е. сначала идет первая строка массива, затем вторая и т.д. У вас же индекс по строкам указан вторым. Вас тут спасает только то, что матрица квадратная и количество строк равно количеству столбцов.
2. Внутри функции переданный массив - это не массив, это указатель
float *nameMatrix
. Соответственно вы не можете делать двойную индексацию nameMatrix[x][y]. Вам надо вычислять индекс вручную:
*(nameMatrix + y * columnsMatrix + x) = a * (x + 1) * powf(sinf(y + b), 2);
Для справки, индексация массива это синтаксический сахар для следующей операции:
*(nameMatrix + i)