Effacer les filtres
Effacer les filtres

What does this error " Undefined operator '*' for input arguments of type 'string' " means?

4 vues (au cours des 30 derniers jours)
I have this code (part of a script)
for i=1:N
Size = Event_List(1,4);
Start_trans_time_ONU(i) = CurrentTime + (Distances(i) / Prop_speed) + Size * 8/ (C *(10^9));
End_Trans_time_ONU(i) = Start_trans_time_ONU(i) + (Distances(i)/Prop_speed) + Grant_time;
aux = End_Trans_time_ONU(i) + Guard_time;
Trans_ONU = i+1;
Event_List = [Event_List; DepartureONU aux 0 0 i+1];
end
And I get the error "Undefined operator '*' for input arguments of type 'string'" on 3rd line.
Can anyone help me on solving it?
Many thanks in advance.
  4 commentaires
Bob Thompson
Bob Thompson le 6 Fév 2018
Ok, so what is Event_List(1,4) then? What type of array is eventlist?
Aziza Zaouga
Aziza Zaouga le 7 Fév 2018
Modifié(e) : Stephen23 le 7 Fév 2018
I wrote Event_List(1,4) to be a double but I figured out that I added a field which is a string. So all variables in Event_List became string. I changed that field and it worked. Anyway, many thanks for your help :)

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 6 Fév 2018
Modifié(e) : Jan le 7 Fév 2018
The error message is clear: In the failing line you try to multiply a string, but this is not meaningful.
You know that the problem occurs in this line:
Start_trans_time_ONU(i) = CurrentTime + (Distances(i) / Prop_speed) + ...
Size * 8 / (C *(10^9));
Then use the debugger to find out, where the problem is: Debugger. Eitehr set a breakpoint in this line or type this in the command window:
dbstop if error
Now run the code until Matlab stops at the named line. You can examine the values of the variables, e.g.:
class(Size)
class(C)
One of them is a variable of class string and a multiplication is meaningless. Convert it to a number.
By the way: 10^9 is an expensive power operation, which is evaluated in each iteration, while 1e9 is a cheap constant.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by