Outros tipos de datos en Matlab/Octave

Números complexos

En Matlab e Octave pódese traballar con números complexos, como 1+3*i ou 1+3i. Ademais das operacións básicas, pódensellas aplicar funcións como

  • real, obtén a parte real;
  • imag, obtén a parte imaxinaria;
  • conj, devolve o conxugado;
  • isreal, indica se o número é real
  • angle, devolve a fase
  • abs, devolve o módulo

Cadeas de texto

As cadeas de texto indícanse entre apóstrofes:
>> a= '$de 5&'
>> b ='don''t'|

A concatenación realízase como a xustaposición de matrices
>> c = ['sdf' 'asd']
Podemos convertir numeros en cadeas con num2str. O seguinte é un exemplo para imprimir de forma elaborada o valor da variable a:
>> a=25; disp(['O resultado é ' num2str(a) ' grados'])

Valores lóxicos

Non hai un tipo de datos específico. Entroques, calquera enteiro non nulo (nomeadamente, 1) significa “verdadeiro” e cero significa “falso”.

Os operadores relacionales: son < (menor), <= (menor ou igual), > (maior), >= (maior ou igual), == (igual), ~= (distinto). Os operadores lóxicos son & (e lóxico), | (ou lóxico), ~ (negación lóxica), xor (ou exclusivo). Ademais, para vectores e matrices, podemos usar any (algún é certo) e all (todos son certos).

Estructuras e celas

As estructuras son agrupacións de datos heteroxéneos con nome:
>> circulo.centro = [0 1]
>> circulo.radio = 4

As celas son agrupacións de datos heteroxéneos numerados:
>> dato{1} = 23
>> dato{2} = [2 8]
>> dato{3} = [0 9; 5 7]

Certas funcións devolven estructuras ou celas, como é o caso de solve en Matlab, ou symlsolve en Octave:
>> symbols; x=sym('x'); y=sym('y'); %iniciamos o calculo simbólico
>> S = symlsolve({x+y-3,x-y+5},{x,y}) %resolución simbólica dun sistema linear

Aquí S contén dous vectores, S{1} e S{2}, que corresponden coas solucións para x e y.

Exercicios

  1. Dado un número complexo en forma binomial, calcula o módulo e a fase requeridos para a súa forma polar.
  2. Dado un nome escrito nunha cadea de texto no formato “apelidos, nome”, escribe noutra variable a cadea “nome apelidos”. Pista: findstr permite buscar a posición dunha subcadea dentro doutra.
  3. Comproba para certos valores de x se \displaystyle \sin(x) é menor que 0.5 e ademais \exp(x) é maior ou igual que 7.
Advertisements
Esta entrada foi publicada en Matlab/Octave. Ligazón permanente.

Deixar unha resposta

introduce os teu datos ou preme nunha das iconas:

Logotipo de WordPress.com

Estás a comentar desde a túa conta de WordPress.com. Sair / Cambiar )

Twitter picture

Estás a comentar desde a túa conta de Twitter. Sair / Cambiar )

Facebook photo

Estás a comentar desde a túa conta de Facebook. Sair / Cambiar )

Google+ photo

Estás a comentar desde a túa conta de Google+. Sair / Cambiar )

Conectando a %s