# Convert vector loop to matrix loop

8 views (last 30 days)
Lev Mihailov on 22 Feb 2022
Edited: DGM on 22 Feb 2022
There is a loop for working with a vector, can it be made to work with a matrix?
z=zeros(100,900); %
x=z(:,1);
y=x;
j=1;
i=1;
u=1;
c=rand(1,900);
for i=1:100
j=j+1;
x(j)=x(i)+0.4*cos(20)/0.226*pi+c(1);
% in the c(1) loop this is because the loop is for the first column,
% in the matrix loop it should be c(num)
u=u+1
y(u)=y(i)+0.64*sin(78)/x(i)*pi+c(1);
end
KSSV on 22 Feb 2022
It looks like you need not to use a loop here....tell us your problem, you can vectorize the code striaght away.

DGM on 22 Feb 2022
Edited: DGM on 22 Feb 2022
You mean like this?
c = rand(1,900);
x = zeros(100,900);
y = x;
for k = 1:99
x(k+1,:) = x(k,:) + 0.4*cos(20)/0.226*pi + c;
y(k+1,:) = y(k,:) + 0.64*sin(78)./x(k,:)*pi + c;
end
... but I should ask how you say it's working when it's clearly dividing by zero and creating an entire array of Infs

### Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!