# square matrix in Matlab

How I can create a square matrix for a fixed dimension such that each element in this matrix is a function e.g., $$A=\left(\begin{array}{ccc} x & \sin x & x^2\\ 1-x & e^x & 2x & \\ \cos x & x-2 & 3x\end{array}\right)$$ so that I can use these elements in a loop?

dim=3;
A=zeros(dim,dim);
B=zeros(n,n,dim)
n=10;
x=2*(1:n);
h=1/n
for j=1:dim
for i=1:n;
B(i,i,j)=h+(here I want A(i,j))
end;
end;


This is only a rough code just to clarify how I want to use the elements of $A$??

• This is a bit off topic for here, really, but I can probably help you anyway. Do you want these to be functions (e.g. @(x) x) or symbolic expressions? – Ian Apr 5 '18 at 19:21
• Functions please.. – S.N.A Apr 5 '18 at 20:27
• Then A will need to be a cell array instead of a matrix. You also unfortunately will not be able to do things quite the way you wrote in the snippet, but you can get close. – Ian Apr 6 '18 at 2:31
• Thank you for the idea, can you show me a way to write @(x) to call it in a loop? – S.N.A Apr 6 '18 at 12:13
• For example, A=cell(3); A{1,1}=@(x) x; A{1,2}=@(x) sin(x); etc. Then you can retrieve the elements the same way you assigned them, using curly braces. – Ian Apr 6 '18 at 16:15