Info

此问题已关闭。 请重新打开它进行编辑或回答。

Changing matrix size in a loop

1 次查看(过去 30 天)
Burak
Burak 2017-3-26
评论: Burak 2017-3-27
Hi , I need to calculate a 3D matrix , say A(v,n,i) , here is code
for n=1:5
for m=-n:n
for v=1:5
A(v,n,i)=% My Fucntion
A( ~any(A,2), :,: ) = [];
A( :, ~any(A,1),: ) = [];
end
end
end
I need to calculate A as a changing size according to m values, like if m=1 , A=10x10 , if m=2 , A=9x9 and same as for negative values of m. If I calculate A like my code , I can't get inverse of A for m>1 or m<-1. Also I tried to delete zeros columns and rows of A(:,:,i) but I couldn't do it because of 3D matrix. Thanks for any help.
  3 个评论
Geoff Hayes
Geoff Hayes 2017-3-27
Please don't post the same question twice: https://www.mathworks.com/matlabcentral/answers/332046-matrix-size-changing-in-a-loop. If you have not received a response to your question, the modify it so that it appears as a recent update (and so is at the "top" of the queue).
Burak
Burak 2017-3-27
I did search my previous question in matlab and in my account tab , I couldn't find so I posted it again. Sorry. For my question , lets say
for n=1:5
m=-n:n;
for v=1:5
A(v,n,i)=v*n-m(i);
end
end
end
for i=1:11
Ai(:,:,i)=inv(A(:,:,i));
end
Like this I can't inverse it. I found a solution , I placed all A variables in a cell array then I removed zeros from it and I can inverse it in a cell array but it is really challenging , I am asking if there is another way to calculate A's in changing size in every loop. Thanks for the concern.
end

回答(0 个)

此问题已关闭。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by