how to find the total no of letters in a text file in matlab
Mostrar comentarios más antiguos
Hi ;
I am going to make a function called letter_counter that takes the name of a text file as input and returns the number of letters (i.e., any of the characters, a-to-z and A-to-Z) that the file contains. i have given that hint: You can use the built-in function isletter. If there is a problem opening the file, the function returns -1.
I am going that code but do not know what i am doing
function m=letter_counter(file)
fid=fopen(file,'rt')
m = char(fread(fid,inf));
fclose
if fid~=fopen(file,'rt')
m=-1;
end
end
I am getting that error
Feedback: Your program made an error for argument(s) 'letter_counter.m'
Your solution is _not_ correct.
I do not know what i have made. Please assist about the correct one. Thanks in advance for assistance...
6 comentarios
Adam
el 8 de Jun. de 2015
You need to report actual Matlab errors to get efficient help. Reporting errors that I assume come from some 3rd party coursework submission system are not very helpful. Don't you run your code yourself before submitting it?
If you are trying to count the letters in a file then you need to do more than just read them all into a variable and return that.
Stephen23
el 8 de Jun. de 2015
@Adam: if you read all of the OP's other questions you will find out the answer. The comments to this question in particular contain an interesting discussion on the topic:
Marcos Mariano
el 13 de Jun. de 2015
Editada: Marcos Mariano
el 13 de Jun. de 2015
Try this:
function letterCounter = letter_counter(file)
fid = fopen(file,'rt'); % Permission to read the file
if fid<0
letterCounter = -1; % It is error message, if we have a problem opening the file
return;
end
A = fread(fid,inf,'*char');
letterCounter = sum(isletter(A))% Sum of all the letters in the file
fclose(fid)
end
Tezen Ralkan
el 24 de Jul. de 2015
@Marcos Mariano: Why is there a '*' before 'char'? your function seems to work but I don't know why that charachter is there.
Kapil Dhanwani
el 23 de Sept. de 2016
what to do if i want to count number of digits(0-9) not letter?
Walter Roberson
el 23 de Sept. de 2016
You would read the help documentation for isletter() and check out the various routines mentioned in 'See Also'
Respuesta aceptada
Más respuestas (1)
charu sharma
el 27 de Ag. de 2015
0 votos
Categorías
Más información sobre Scripts en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!