Você está na página 1de 7

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul – Campus Restinga

Fundamentos de Álgebra Linear Usando o Scilab


Alexsandro Bonatto

O Scilab é um software para computação numérica extremamente versátil e funcional que


pode ser utilizado para diferentes aplicações com cálculo numérico, álgebra linear e modelagem de
sistemas. É uma ferramenta gratuita que pode ser obtida a partir da página do desenvolvedor
http://www.scilab.org/. Essa apostila contém um apanhado de funções descritas simplificadamente
para desenvolver cálculos de álgebra linear com operações de matrizes. No final é apresentado um
apanhado para geração de gráficos.

1) Álgebra Linear

1.1) Declaração de Vetores e Matrizes:

--> V = [ 1 2 3 4 ]

V =

1. 2. 3. 4.

--> A = [1 2; 3 4]

A =

1. 2.
3. 4.

1.2) Operações básicas com matrizes:

--> A=[1 2; 3 4];


--> B=[5 6; 7 8];

Adição:
--> A+B
ans =

6 8
10 12

Subtração:
--> A-B
ans =

-4 -4
-4 -4

Multiplicação:
--> A*B
ans =

19 22
43 50
1.3) Manipulação de linhas e colunas:

--> A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16];

Selecionar a segunda linha:


-->A(2,:)
ans =

5. 6. 7. 8.

Selecionar a terceira coluna:


-->A(:,3)
ans =

3.
7.
11.
15.

Multiplicar por -5 a primeira linha, somar a primeira linha com a segunda e armazenar o
resultado na segunda linha:
-->A(2,:)= -5*A(1,:)+A(2,:)
A =

1. 2. 3. 4.
0. - 4. - 8. - 12.
9. 10. 11. 12.
13. 14. 15. 16.

1.4) Comandos para processar matrizes:

--> A = [1 2; 3 4];

Inversa de uma matriz – inv():


-->inv(A)
ans =

- 2. 1.
1.5 - 0.5

Transposta de uma matriz (uso do apóstrofo):


-->A'
ans =

1. 3.
2. 4.

Determinante de uma matriz – det():


-->det(A)
ans =

- 2.
Diagonal de uma matriz – diag():
-->diag(A)
ans =

1.
4.

Parte triangular inferior de uma matriz – tril():


-->A=[1 2; 3 4];
-->tril(A)
ans =

1. 0.
3. 4.

-->B=[1 2 3; 4 5 6; 7 8 9];
-->tril(B)
ans =

1. 0. 0.
4. 5. 0.
7. 8. 9.

Parte triangular superior – triu():


-->triu(A)
ans =

1. 2.
0. 4.

-->triu(B)
ans =

1. 2. 3.
0. 5. 6.
0. 0. 9.

1.5) Resolvendo um sistema de equações lineares:

Um sistema de equações lineares descrito na forma A . x = B, onde A é a matriz de


coeficientes, x é o vetor de variáveis e B é o vetor de termos independentes. Tal sistema pode ser
resolvido utilizando o Scilab com o comando A\B.
Exemplo: o sistema de equações lineares mostrado abaixo
3x + y + z = 20
2x - y - z = -15
-4x + y -5z = -41

pode ser resolvido no Scilab da seguinte forma:


-->A=[3 1 1;2 -1 -1;-4 1 -5];
-->B=[20;-15;-41];
-->A\B
ans =

1.
8.
9.

ou também na forma:

-->inv(A)*B
ans =

1.
8.
9.

que gera a solução do sistema x=1, y=8 e z=9.

1.6) Exercícios de fixação:

a) Substitua os elementos a12 e a32 por 0 na matriz A mostrada abaixo:


A =
7. 2. 3.
6. 4. 3.
1. 2. 3.

b) Dada a matriz A do item 'a', substitua a linha L2 pelo vetor x=[1 1 1].

c) Resolva o sistema de equações abaixo usando o Scilab. Escreva as declarações da matriz A de


coeficientes e o vetor B de termos independentes para resolver o vetor de variáveis X = [x y z].
7x – 3y – 4z = – 11
– 3x + 6y – 2z = 3
– 4x – 2y + 11z = 25

d) Resolva o sistema de equações do item 'b' usando a regra de Cramer calculando os determinantes
usando a função det() do Scilab.

Observação: para consultar a ajuda do scilab, basta digital help na linha de comandos que
será aberta a janela de ajuda. A descrição de um comando específico é acessada usando o comando
help <nome_do_comando>.

2) Média e Desvio Padrão


Essa seção descreve o uso de algumas funções utilizadas para calcular a média e desvio
padrão de um conjunto de amostras. A função sum() pode ser utilizada para somar todos valores de
um vetor. A função abs() pode ser usada para retornar o valor absoluto de um elemento, de uma
matriz ou de um vetor de elementos. A função mean() é usada para calcular a média de um conjunto
de amostras. A função stdev() é usada para calcular o desvio padrão de um conjunto de amostras.

2.1) Somatório dos elementos de uma matriz A e de um vetor X – sum():


-->A=[1 2; 3 4];
-->sum(A)
ans =

10.

-->sum(A(1,:))
ans =

3.

-->X=[ 1 2 3 4 ];
-->sum(X)
ans =

10.

2.2) Valores absolutos de uma matriz – abs():


-->A=[1 -2; -3 4]
A =

1. - 2.
- 3. 4.

-->abs(A)
ans =

1. 2.
3. 4.

2.3) Média (Mean) de um conjunto de valores contidos no vetor X – mean():


-->X=[ 2 5 4 3 ];
-->mean(X)
ans =

3.5

2.4) Desvio Padrão (Standard Deviation) do vetor X – stdev():


-->X=[ 2 5 4 3 ];
-->stdev(X)
ans =

1.2909944

3) Gráficos
A função plot(x,y) é usada para gerar um gráfico bidimensional para vetores x e y que
representam o eixo das variáveis dependente e independente, respectivamente. Omitindo-se a
variável x então o gráfico é gerado com um índice iniciando em 0 para o eixo x. Exemplos são
mostrados abaixo, para gerar gráficos para um conjunto de valores e para funções.
3.1) Gráfico 2D – cor preta com marcador '*' para os pontos e com linha preenchida:
-->y=[1 2 3 4 5]
y =

1. 2. 3. 4. 5.

-->plot(y,'k-*')

3.2) Gráfico 2D – cor azul com marcador 'o' para os pontos e com linha tracejada:
-->y=[5 4 3 2 1]
y =

5. 4. 3. 2. 1.

-->plot(y,'b--o')

3.3) Gráfico 2D para função y = 2x + 4, no intervalo de x compreendido entre [4,9]:


-->x=[4 5 6 7 8 9];
-->y=2*x + 4
y =

12. 14. 16. 18. 20. 22.

-->plot(x,y,'b--o')

3.4) Gráfico 2D para uma função não linear y = x² – 10, no intervalo de x compreendido entre
[– 10, 10]. Observe que o operador de potência para todos elementos de um vetor deve ser
aplicado usando '.^' (ponto e circunflexo):
-->-->x=[-5:5]
x =

- 5. - 4. - 3. - 2. - 1. 0. 1. 2. 3. 4. 5.

-->y=x.^2 - 10
y =

15. 6. - 1. - 6. - 9. - 10. - 9. - 6. - 1. 6. 15.

-->plot(x,y,'r-d')

3.5) Gráfico 2D da função Seno, para um intervalo de tempo compreendido entre 0 e 2π em


intervalos de 0,1:

-->t=[0:0.1:1]
t =

0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.

-->x=2*%pi*t
x =
column 1 to 6

0. 0.6283185 1.2566371 1.8849556 2.5132741 3.1415927

column 7 to 11

3.7699112 4.3982297 5.0265482 5.6548668 6.2831853

-->plot(t,sin(x),'r-s')

Você também pode gostar