when output, matlab shows <missing>?

조회 수: 2 (최근 30일)
越琪 吴
越琪 吴 2020년 10월 11일
댓글: Walter Roberson 2020년 10월 12일
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
越琪 吴
越琪 吴 2020년 10월 12일
In my project, I use this to call out the function
plate=["0"];
plate=plates(n,plate);

댓글을 달려면 로그인하십시오.

답변 (1개)

Walter Roberson
Walter Roberson 2020년 10월 11일
plates(n-1,plate);
That is not an assignment statement.
  댓글 수: 4
越琪 吴
越琪 吴 2020년 10월 12일
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 2020년 10월 12일
I suggest that you read https://www.mathworks.com/matlabcentral/answers/579063-code-for-reverse-a-vector#comment_998227

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by