function for looking for strings in table
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
randomnumbers = 5 + (10-5)*rand(71,1);
randomnumbers2 = 10 + (20-10)*rand(71,1);
randomnumbers3 = 100 + (200-100)*rand(71,1);
for j = 1:size(table)
if table.Var1(j) == "a"
table.Result1(j) = 0;
elseif table.Var1(j) == "b"
if table.Mode(j) == "monday"
table.Result1(j) = randomnumbers2(j)
elseif table.Mode(j) == "thursday"
table.Result1(j) = randomnumbers2(j)
else
table.Result1(j) = randomnumbers3(j)
end
else
break
end
end
for j = 1:size(table)
if table.Var2(j) == "a"
table.Result2(j) = 0;
elseif table.Var2(j) == "b"
if table.Mode(j) =="monday"
table.Result2(j) == randomnumbers2(j)
elseif table.Mode(j) == "thursday"
table.Result2(j) = randomnumbers2(j)
else
table.Result2(j) = randomnumbers3(j)
end
else
break
end
end
Hello, this is pieece of my code.
I have a table of size 71x15. I want to check if variables stored in columns 2:10 are either "a", "b" or "c". If they are a, I would like to assign the value of 0 in new column. If they are B, I would like to assign the value from array randomnumbers 2/random numbers 3, depending on which day is stored in column "mode" and if they are "c" the code should do nothing and move to the next row.
The problem is that, for the column Var1, this loop presented above works fine. If I repeat the same loop for respectively Var2, Var, Var4...Var10, all the numbers assigned are zero.
Could you please tell me how to fix this, and more importantly, if there exists a possibility to create function from that that does it whenever we call it? As you can see, its inconvinient to crete 9 loops like this, to check for those strings in columns from Var2...Var10.
Thanks in advance!
8 comentarios
Walter Roberson
el 21 de Feb. de 2022
The break you have stops executing the loop as soon as you encounter the first entry that is not "a" or "b"
Respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!