Afinador

Páginas: 14 (3445 palabras) Publicado: 12 de mayo de 2010
MATLAB
Tipos de dados

Tipos de dados em Matlab
M AT L AB D a ta T yp e s

double
double precision (real and com plex)

single
single precision (real and com plex)

int8, int16, int32, int64,

unit8 uint16 unit32 unint64

logical
logical data

char
character strings

integer and unsigned integer data types

cell
cell arrays

structure
structures

user classesobjects

function handles

function handles

João Sousa – Miguel Pedro Silva

Computação e Programação 2007 / 2008

2

Funções para strings
>> cadeia = 'Isto sao caracteres'; >> whos cadeia Name Size Bytes cadeia 1x19 38 Grand total is 19 elements using 38 bytes >> x = double(cadeia) x = Columns 1 through 11 73 115 116 111 Columns 12 through 19 114 97 99 116 >> z = char(x) z = Isto saocaracteres

Class char array

32

115

97

111

32

99

97

101

114

101

115

João Sousa – Miguel Pedro Silva

Computação e Programação 2007 / 2008

3

Arrays de caracteres
>> nome = ['Joao M. C. Sousa';'Engenheiro'] ??? Error using ==> vertcat All rows in the bracketed expression must have the same number of columns. >> nome = char('Joao M. C.Sousa','Engenheiro') nome = Joao M. C. Sousa Engenheiro >> linha2 = nome(2,:); >> ['*' linha2 '*'] ans = *Engenheiro * >> linha2_s_brancos = deblank(nome(2,:)); >> ['*' linha2_s_brancos '*'] ans = *Engenheiro*
João Sousa – Miguel Pedro Silva

Computação e Programação 2007 / 2008

4

Comparação de strings
>> cad1 = 'ola'; >> cad2 = 'Ola'; >> cad3 = 'olaria'; >> c = strcmp(cad1,cad2) c = 0 >> c =strcmpi(cad1,cad2) c = 1 >> c = strncmp(cad1,cad3,3) c = 1 >> a = 'faca'; >> b = 'lata'; >> res = a == b res = 0 1
João Sousa – Miguel Pedro Silva

0

1
Computação e Programação 2007 / 2008
5

Tipo de dados single
>> var = single(3.1) var = 3.1000 >> whos Name Size Bytes var 1x1 4 Grand total is 1 element using 4 bytes >> b = 7; >> c = var * b c = 21.7000 >> whos Name Size Bytes b 1x1 8 c 1x1 4 var1x1 4 Grand total is 3 elements using 16 bytes

Class single array

Class double array single array single array

A operação de um single com um double retorna um single! Na maior parte das linguagens (Fortran, C, C++, Java) o resultado seria um double.
João Sousa – Miguel Pedro Silva

Computação e Programação 2007 / 2008

6

Tipos de dados inteiro YYY
Existem oito tipos de dadosinteiros em Matlab: int8, int16, int32, int64, uint8, uint16, uint32, uint64. Os números n = 8, 16, 32 e 64 correspondem ao número de bits do inteiro. Exemplos:
28 = 256, 216 = 65536, etc. uint são inteiros sem sinal. Exemplos: int8 – inteiros de -128 a 127 uint8 – inteiros de 0 a 255 (utilizado em RGB, por exemplo)

João Sousa – Miguel Pedro Silva

Computação e Programação 2007 / 2008

7 Exemplos com inteiros ZZZ
>> var = int8(3) var = 3 >> whos Name Size Bytes var 1x1 1 Grand total is 1 element using 1 bytes >> b=7; >> c = var * b c = 21 >> whos Name b c var Grand total Size Bytes 1x1 8 1x1 1 1x1 1 is 3 elements using 10 bytes Class double array int8 array int8 array Class int8 array

A operação de um int com um double retorna um int! Na maior parte das linguagens (Fortran,C, C++, Java, Basic, etc.) o resultado seria um double.
João Sousa – Miguel Pedro Silva

Computação e Programação 2007 / 2008

8

Características de inteiros e single
Matlab utiliza saturação aritmética de inteiros.
Quando o resultado de uma operação é maior que o maior número possível, retorna este último valor.

Exemplo: Em int8, a soma: int8(100)+int8(50) retorna 127. Os tipos intnão podem ser operados com single. Os tipos int e single devem apenas ser utilizados quando explicitamente necessário. Um exemplo é em processamento de imagem (cores RGB).
João Sousa – Miguel Pedro Silva

Computação e Programação 2007 / 2008

9

Tipo de dados complexo
>> complexo1 = 4 + i*3 complexo1 = 4.0000 + 3.0000i >> complexo1 = 4 + 3i complexo1 = 4.0000 + 3.0000i
imaginary axis...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Afinaciones
  • AFINAMIENTO
  • AFin
  • Afines
  • Afino del acero
  • Carreras afines
  • AFINIDAD ELECTRONICA
  • Afino del acero

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS