How do I access array elements in for loop?

How do I access array elements in for loop? Below is what I tried but had error. Any suggestion is appreciated.
Halis
K = [2 5];
for i = 1:2;
K(i) = K(1,i);
B(i) = 2*K(i);
C = 4*B(i);
disp(C);
D = C(1,1)
E = C(1,2)%error:Attempted to access C(1,2); index out of bounds because numel(C)=1.
F = 3*D^2 + 4*E^2
G = 3*D*E + 4*D*E
end

2 Comments

The line K(i) = K(1,i) is meaningles. Simply omit it, because it replaces the i'th element of K by the i'th one. This would only have an effect if K is a matrix or a multidimensional array.
D,E,F,G are overwritten in each iteration. Is this your intention?
Thanks, I have made the changes as u suggested. D,E,F,G are not overwritten.I wish to access the values of each iterate to get D(=4) and E (=10) to enable me calculate F and G.
K = [2 5]; for i = 1:2; B(i) = 2*K(i); disp(B(i)); %Now i want to access the values of B(i) separately, ie 4 and 10, %making D = 4 and E = 10
%% Then I can determine F and G % F = 3*D^2 + 4*E^2 % G = 3*D*E + 4*D*E end

Sign in to comment.

 Accepted Answer

K = [2 5];
for i = 1:2; B(i) = 2*K(i); end
D = B(1)
E = B(2)
F = 3*D^2 + 4*E^2
G = 3*D*E + 4*D*E
This could be simplified to
K = [2 5];
B = 2*K;
F = [3 4]*B.^2'; % == 3*B(1)^2 + 4*B(2)^2
G = 7*prod(B); % == 3*prod(B) + 4*prod(B);

1 Comment

Thanks! This worked!. Thanks to everyone that has helped.

Sign in to comment.

More Answers (0)

Categories

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

Asked:

on 28 Sep 2015

Commented:

on 29 Sep 2015

Community Treasure Hunt

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

Start Hunting!