Effacer les filtres
Effacer les filtres

storing values in Arrays

1 vue (au cours des 30 derniers jours)
Muhammad Naveed Iqbal
Muhammad Naveed Iqbal le 4 Juin 2015
I want to store different values of t in I but I can't store via this code please help me
for j=0:4
U2 = makedist('Uniform','lower',200,'upper',600);
t=random(U2)
t=round(t)
I(:,j)=t
end

Réponses (2)

Walter Roberson
Walter Roberson le 4 Juin 2015
You started j as 0 and try to store into I(:,j) so you are trying to store in column 0. Matlab array index start at 1

Guillaume
Guillaume le 4 Juin 2015
Well, you can't use a value of zero (the first value j will have) to index into a matrix. Indices must be strictly positive integer. The simplest fix is to have j go from 1 to 5.
The whole line I(:, j)=t is very suspicious. t is scalar, so why have you got a colon (which would indicate you intended to store a vector)? I'd recommend you go through the tutorial to understand indexing.
Note that if all you want to generate is 5 integers between 200 and 600 using a uniform distribution, then randi is much simpler:
I = randi([200 600], 1, 5)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by