# inserting index for variable

4 views (last 30 days)
shirin mhd on 1 Apr 2022
Edited: Torsten on 1 Apr 2022
Hi everyone!
I want make index for my variable. I write a simple code:
x=8;
b=9;
for i=1:2
w(i)=x+b
u=x+w(i)
end
I expect something like this:
w(1)=17
u(1)=8
w(2)=17
u(2)=25
but code doesnt do this.
Since I've just started programming with MATLAB. Im not familiar with this syntax.
I appreciate any help.
Riccardo Scorretti on 1 Apr 2022
Edited: Riccardo Scorretti on 1 Apr 2022
Dear Shirin,
in your code, the variable u is not a vector. Try this:
x=8;
b=9;
for i=1:2
w(i)=x+b
u(i)=x+w(i)
end
w = 17
u = 25
w = 1×2
17 17
u = 25
However, notice that in this way your vector will be increasing; this is a bad practice from the point of view of computational efficiency.
Most importantly, there is strictly no reason for you to obtain the result you posted beause w(i) = x+b = 17 for any index i, hence u(i) = x+w(i) = 2x+b = 25 is constant as well (no matter if u is a vector or a scalar). Are you sure of your algorithm?

Torsten on 1 Apr 2022
Edited: Torsten on 1 Apr 2022
I don't know what you mean by "I want make index for my variable", but
x = 8;
b = 9;
w = zeros(2,1);
u = zeros(2,1);
for i = 1:2
u(i) = x + w(i);
w(i) = x + b;
end
at least reproduces your expected output.