В вашем коде есть две проблемы:
- Функция
foo
не имеет аргумента для подачи ей X
. - Транспонированный
X
уничтожается послевызывается функция.
Вам необходимо изменить функцию следующим образом:
mata:
function foo(a)
{
return(a')
}
end
Затем вы можете получить транспонированные X
в качестве переменных, используя getmata
:
clear
input x1 y1 z1
223 676 457 787
913 743 346 890
546 876 123 105
end
putmata X = (x1 y1 z1)
mata: Y = foo(X)
getmata (x2 y2 z2) = Y
list
+-----------------------------------+
| x1 y1 z1 x2 y2 z2 |
|-----------------------------------|
1. | 223 676 457 223 913 546 |
2. | 913 743 346 676 743 876 |
3. | 546 876 123 457 346 123 |
+-----------------------------------+