A função isnumérica no matlab

A função isnumérica no matlab
Depois de conhecer o tipo de dados, enviaremos os argumentos de entrada de uma função, o que é essencial na programação. Pode evitar erros ou comportamento inesperado devido à incompatibilidade de dados.

Neste artigo do Linux, você aprenderá a usar a função MATLAB ISNUMERIC () para determinar se uma matriz é numérica. Explicamos tudo o que você precisa saber sobre o uso desta função: seus argumentos de entrada e saída, o tipo de dados que ele aceita, etc.

Além disso, você encontrará fotos e exemplos práticos com trechos de código e chamadas de função com diferentes tipos de dados e matrizes.

Matlab isnumeric () function sintaxe

r = isnumeric (x)

Descrição da função Matlab isnumeric ()

A função isnumeric () retorna um resultado lógico em "r" igual a 1 se o escalar "x" ou todos os elementos do vetor ou matriz de seus argumentos de entrada têm valores numéricos. Um 0 lógico resultará se o escalar ou qualquer elemento de um vetor ou matriz não tiver dados não numéricos.

O é… .”As funções são um conjunto de funções do MATLAB para determinar o tipo de dados de uma matriz.

Como determinar se um escalar é numérico com a função isnumeric () do matlab

Neste exemplo, veremos como usar a função isnumeric () para determinar se um escalar é numérico. Para fazer isso, usamos o console do comando MATLAB e criamos o escalar "x" atribuindo -lhe um valor, caractere ou outro tipo de dados. Em seguida, chamamos a função isnumeric () e enviamos "x" como o argumento de entrada. A saída "r" é o valor lógico 1 se for numérico e 0 se não for. A imagem a seguir é um trecho de código que mostra os resultados quando enviamos um valor numérico e um caractere como argumentos de entrada:

x = 88;
r = isnumeric (x)
x = 'a';
r = isnumeric (x)

Como determinar se os valores em um vetor são numéricos com a função isnumeric () do MATLAB ()

Agora, veremos como determinar se os valores nos elementos de um vetor são numéricos. Para fazer isso, criamos o vetor "X" na linha de comando e chamamos a função isNumeric () da seguinte forma:

x = [8, -9, 58, 62, 0, 77];
r = isnumeric (x)

Conforme mostrado na figura a seguir, o isnumeric () retorna um único resultado lógico determinado por todos os elementos vetoriais:

Como determinar se os valores em uma matriz são numéricos com a função isnumeric () do MATLAB ()

Neste exemplo, veremos como determinar se os valores nos elementos de uma matriz são numéricos. Para fazer isso, criamos a matriz "X" na linha de comando e chamamos a função isnumeric ().

x = [8, -9, 58, 62;
55, 84, Nan, 99;
44, 'J', 56, 'O';
74, 14, inf, nan];
r = isnumeric (x)

Conforme mostrado na figura a seguir, o isnumeric () retorna um único resultado lógico determinado por todos os elementos da matriz:

A função matlab é numérica em condicionais se

Conforme explicado anteriormente neste artigo, essas funções são amplamente utilizadas em expressões condicionais, pois elas nos permitem ou não nos permitirem executar operações de acordo com o tipo de dados de uma determinada matriz, o que evita erros de compatibilidade de dados. Isso pode ser visto no código para muitas funções na biblioteca MATLAB, onde o processamento específico executado depende do tipo de dados enviados nos argumentos de entrada.

Neste exemplo, criaremos uma função que execute duas operações básicas, a divisão de A por B, que também retorna o resultado dessa operação, por um lado, e o restante após a divisão, por outro, que é uma função com duas entradas e duas saídas. Em seguida, veremos o código desta função.

função [d, r] = explic_1 (a, b)
d = a ./ b;
r = mod (a, b);
fim

Crie um script, cole este trecho e salve -o como "explic_1". Então, na linha de comando MATLAB, insira diferentes tipos de dados em "A" e "B" e chama a função "Expl_1".

Conforme mostrado na figura anterior, as operações da divisão e a função mod () fornecem as seguintes mensagens de erro quando entramos em dados não numéricos, como seqüências de strings em A ou B.

“Operador './'não é suportado para operando de tipo' string '.”

“Verifique se há tipo de dados de argumento incorreto ou argumento ausente na chamada para funcionar 'mod'.”

A melhor solução para evitar esses erros ou resultados inesperados é usar condicionais no início da função em que a condição do tipo de dados determina se a função continua a executar ou não. No código a seguir, vemos a solução para esse problema implementando a lógica "se" com uma lógica de curto-circuito, onde a função prossegue com a execução das expressões matemáticas somente se "a" e "b" contiver valores numéricos.

função [d, r] = explic_1 (a, b)
se é numérico (a) && isnumeric (b)
% Só é executado se "a" e "b" são numéricos.
d = a ./ b;
r = mod (a, b);
fim
fim

Agora substituímos o código da função explic_1 por aquele abaixo.

Também podemos inverter o resultado de isnumeric () e usar lógica de curto-circuito "ou" para configurar um retorno na função antes de executar as operações matemáticas que gerariam um erro. Em seguida, vejamos o código para gerar o retorno condicional.

função [d, r] = explic_1 (a, b)
Se ~ é numérico (a) || ~ Isnumeric (B)
% Se "a" ou "b" não são numéricos, a função retorna.
retornar;
fim
% Executados apenas se "a" e "b" são numéricos
d = a ./ b;
r = mod (a, b);
fim

Com essas duas maneiras de usar as condições ISNumeric () em "se", alcançamos que a função Expl_1 executa as operações matemáticas somente se os dados de entrada forem compatíveis.

Conclusão

Como vimos, essa função é uma excelente adição aos condicionais, permitindo que executemos o código somente quando o tipo de dados é compatível. Isso é muito útil quando criamos nossas funções para executar fórmulas matemáticas, pois podemos filtrar os dados de entrada e processá -los apenas se os dados forem numéricos. Neste artigo, explicamos como usar isnumeric () no Matlab. Damos uma descrição completa da função, sua sintaxe, estrutura, entradas, saídas, tipos de dados e matrizes que aceita. Esperamos que você tenha achado este artigo do Matlab. Veja outros artigos de dica do Linux para obter mais dicas e informações.