How to overcome an invalid use of operator error

2 visualizzazioni (ultimi 30 giorni)
Hello, I am trying to populate a 60x6 matrix with random values for different variables (force, torque, radius, etc) as its columns. Each of the variables must iterate 60 times and fall between a given range. I attempted to make a column vector for each variable and implement them into the matrix, however I am receiving an error when doing so.
Pop=ones(60,6);
F=ones(60,1);
P=ones(60,1);
T=ones(60,1);
r=ones(60,1);
t=ones(60,1);
range of values
x=1;
while x<61
F(x)=99000.*rand(60,1)+1000;
P(x)=999000.*rand(60,1)+1000;
T(x)=4990.*rand(60,1)+10;
r(x)=0.04.*rand(60,1)+0.05;
t(x)=0.0008.*rand(60,1)+0.0001;
Pop=(:,1)= F(60,1);
Pop=(:,2)= P(60,1);
Pop=(:,3)= T(60,1);
Pop=(:,4)= r(60,1);
Pop=(:,5)= t(60,1);
x=x+1
end

Risposta accettata

KSSV
KSSV il 31 Ott 2018
Modificato: KSSV il 31 Ott 2018
for i = 1:60
F=99000.*rand(60,1)+1000;
P=999000.*rand(60,1)+1000;
T=4990.*rand(60,1)+10;
r=0.04.*rand(60,1)+0.05;
t=0.0008.*rand(60,1)+0.0001;
pop = [F P T r t]
end
  1 Commento
Adam Reyes
Adam Reyes il 4 Nov 2018
Thanks. I was getting 0 values on the last two columns but I turned the matrix into a table. Ended up being the last two columns had very small values.

Accedi per commentare.

Più risposte (1)

madhan ravi
madhan ravi il 31 Ott 2018
Should be
F(60,1)=Pop(:,1);
P(60,1)=Pop(:,2);
T(60,1)=Pop(:,3);
r(60,1)=Pop(:,4);
t(60,1)=Pop(:,5);
  1 Commento
madhan ravi
madhan ravi il 31 Ott 2018
Modificato: madhan ravi il 31 Ott 2018
Use proper declaration properly in order to avoid the error like the above. Anyhow there are many errors in your code just wanted to point out this mistake.

Accedi per commentare.

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by