Using throw error to validate string input

Im trying to validate the input string in my function using error(msg), can anyone help?
function [amino_acid_chain] = synthesize(mRNA)
% throws an error if input string 'mRNA' is not a member of y.
y = ['g','c','a','u','G','C','A'',U'];
x = ismember(mRNA,y);
% I want to use this error if anything comes up logical 0 in x
msg = 'Error occurred.';
error(msg)

3 comentarios

Note that square brackets are a concatenation operator, so your example:
y = ['g','c','a','u','G','C','A','U'];
is exactly equivalent to the much simpler:
y = 'gcauGCAU';
Rik
Rik el 7 de Mayo de 2019
Also note that it is probably easier for the rest of your script to pick either upper or lower case. You can use the upper or lower function to convert your input, then you can continue your function with only one case to worry about.
Damien Williams
Damien Williams el 7 de Mayo de 2019
I have a habit of over complicating things! thanks.
Ive already converted input to a cell array in groups of three and uppercase.

Iniciar sesión para comentar.

 Respuesta aceptada

Rik
Rik el 7 de Mayo de 2019
if any(~x)
error(msg)
end

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 7 de Mayo de 2019

Comentada:

el 7 de Mayo de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by