Você está na página 1de 5

# ---------------------------------------------------------------

# Conjunto de comandos R para UC Matemática II 2018/2

# ---------------------------------------------------------------

# Para limpar o console:

cat("\f")

# Para excluir todas as variáveis:

rm(list = ls(all.names = TRUE))

# Definição de uma variável:

var1 <- 2

var2 <- -4

var3 <- -1

var4 <- 12

# Para excluir uma variável:

rm(var4)

# Operações básicas:

var4 <- var1 + var2


var5 <- var3 - 7
var6 <- var4/6
var7 <- var1*var2*var3

# Funções de matemática básica:

var8 <- exp(3) # Calula o exponencial de um valor


var9 <- log(var2) + sqrt(var5) # Logaritmo natural e raiz quadrada
var10 <- round(var6,digits = 3) # arrendondar um valor com 3 casas
decimais

# Definindo vetores usando a função c:

v1 <- c(3,4,6,8,10,23,12)
v2 <- c(4,4,1,9,3,1,1)

# Dimensão do vetor:

dv1 <- length(v1)

# Operações com vetores:

vsoma <- v1 + v2
vdif <- v1 - v2
vprod1 <- 4*v1
vprod2 <- var4*v2

# Acessando algum elemento do vetor:

v1[6]
vdif[3]
vsoma[4]

# Calculando a norma de um vetor:

normv1 <- sqrt(sum(v1^2))


normv2 <- sqrt(sum(v2^2))

# Vetores correspondentes de norma unitária:

w1 <- (1/normv1)*v1
normw1 <- sqrt(sum(w1^2))

w2 <- (1/normv2)*v2
normw2 <- sqrt(sum(w2^2))

# Produto interno (escalar):


prodv <- v1%*%v2

# Distância entre dois vetores:

distv <- sqrt(sum((v1-v2)^2))

# Construindo matrizes:

A1 <- matrix(1 : 1 : 6,nrow = 2)


A2 <- matrix(c(3,4,5,2,1,1,4,8,7),nrow=3,ncol = 3)

# Funções associadas às matrizes:

diag(A1)

A0 <- matrix(0,nrow = 3,ncol = 4) # matriz nula


Auni <- matrix(1,nrow = 4,ncol = 3) # matriz unitária
Adiag <- diag(c(4,6,7,8)) # matriz diagonal
I <- diag(1,4) # matriz identidade

# Operações com matrizes:

A <- matrix(c(3,4,5,2,1,1,4,8,7),nrow=3,ncol = 3)
B <- matrix(c(5,6,1,3,6,8,5,6,0),nrow=3,ncol = 3)

C <- A + B # soma
D <- A - B # subtração
E <- 4*A # multiplicação por escalar

At <- t(A) # transposta


Ainv <- solve(A) # matriz inversa
AB <- A%*%B # produto de matrizes
AB2 <- A*B # produto elemento a elemento de matriz

# Acessando elementos específicos de uma matriz:

A[2,3] # Elemento a23


A[,3] # Coluna 3
A[2,] # Segunda linha
# Determinante:

detA <- det(A)


detB <- det(B)

# Calcular o posto:

# install.packages("Matrix") # instala o pacote, se não tiver


instalado ainda, tirar o #
library(Matrix) # deixa o pacote disponível

pA <- rankMatrix(A) # posto de A


pB <- rankMatrix(B) # posto de B

# ---------------------------------------------------------------

# Aplicações:

# Exemplo 1:

A <- matrix(c(6,1,4,-3,4,-1,1,-2,5),nrow = 3)
b <- c(22,12,10)

# Calculando o posto e o determinante de A:

pA <- rankMatrix(A)
detA <- det(A)

# Calculando a solução pela matrix inversa:

xstar <- solve(A)%*%b

# Confirmando o resultado:

A%*%xstar

# Pela regra de Cramer:

A1 <- A
A1[,1] <- b

x1star <- det(A1)/det(A)

A2 <- A
A2[,2] <- b

x2star <- det(A2)/det(A)

A3 <- A
A3[,3] <- b

x3star <- det(A3)/det(A)

# Calculamos os determinantes para classificar os sistemas:

det(A1)
det(A2)
det(A3)

# ---------------------------------------------------------------

# Método de Gauss-Jordan:

# install.packages("pracma")
library(pracma)

# Construindo a matrix ampliada:

Aampl <- matrix(0,nrow = 3,ncol = 4)


Aampl[,1:3] <- A
Aampl[,4] <- b

# Calculando:

rref(Aampl)

Você também pode gostar