when output, matlab shows <missing>?

6 views (last 30 days)
越琪 吴
越琪 吴 on 11 Oct 2020
Commented: Walter Roberson on 12 Oct 2020
I wrote a recursive function to generate a car plate for each car
function plate=plates(n,plate)
if n<1
return
else
element=["1","2","3","4","5","6","7","8","9","0","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
str1=element(randi([11,36]));
for i=1:5
str2=element(unidrnd(36));
str1=strcat(str1,str2);
end
plate(n)=str1;
plates(n-1,plate);
end
end
In my project, some of the cars are allowed to jump the red light, and I use an array 'jaywalk', whose original value is all 0, to record them:
if the car will jump the red light, jaywalk(1,i)=1;,i is the numerical order of the car
At the end of my project, I need to display the plate of the cars which jumpt the red light, n is the total number of cars
for i=1:n
if jaywalk(1,i)==1
disp(plate(i));
end
end
BUT when I run the code to the stage of displaying the car plates, matlab shows missing.
how can i solve the problem?
Any help will be appreciated! Thanks!
  1 Comment
越琪 吴
越琪 吴 on 12 Oct 2020
In my project, I use this to call out the function
plate=["0"];
plate=plates(n,plate);

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 11 Oct 2020
plates(n-1,plate);
That is not an assignment statement.
  4 Comments
越琪 吴
越琪 吴 on 12 Oct 2020
yes, a car plate is composed of a letter and then 5 characters of letters or digits. I am going recursive because I need to generate a car plate for each of the n cars, I know this can be achieved by a loop, but recursion is demanded by my instructor. Thanks!
Walter Roberson
Walter Roberson on 12 Oct 2020
I suggest that you read https://www.mathworks.com/matlabcentral/answers/579063-code-for-reverse-a-vector#comment_998227

Sign in to comment.

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!