storing values from a for loop

clc;
clear all;
close all;
for k=-2:0.5:2
x=k;
x(k)=x;
end
I have to store values of x from -2 to 2 at a gap of 0.5 in a row vector but when I run this code I am getting an error as:
'Subscript indices must either be real positive integers or logicals.' Please tell me why am I getting this and how can it be corrected? how can I make the row vector?

 Accepted Answer

Von Duesenberg
Von Duesenberg on 11 Mar 2018
Edited: Adam Danz on 27 Jan 2020
Is this what you had in mind?:
myValues = -2:0.5:2;
myX = zeros(length(myValues),1);
for i = 1:length(myValues)
myX(i) = myValues(i);
end

4 Comments

Thanks...it's working...My job is done....but please tell me why that error is there and can't it be corrected..
Among other things, you asked Matlab to store a value in "slot" -2 of array x. The first "slot" in an array is 1. I'm deliberately using a somewhat loose terminology because I don't know what your background is and everyday words might be clearer.
Thanks...
(My edit of the answer was just to add indentation within the i-loop).

Sign in to comment.

More Answers (0)

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!