[English version here.]
Como faz tempo que fiz o primeiro post do tutorial do Scilab, acho que está na hora de continuar o serviço.
Como já foi dito, o Scilab é muito semelhante ao Matlab (que eu não gosto, nem uso e muito menos recomendo). E Matlab é uma sigla para "Laboratório de Matrizes", ou seja, é um software voltado para a manipulação matricial de dados.
Se nós temos a equação y = A x, em que:
x = [1 2 3 4]' (x é um vetor coluna)
e
A = [1 2 3 4;
1 2 3 4;
1 2 3 4;
1 2 3 4].
Em que A é uma matriz quadrada.
Obtem-se que:
y = [x[1]A[1,1]+x[2]A[2,1]+x[3]A[3,1]+x[4]A[4,1] x[1]A[1,2]+x[2]A[2,2]+x[3]A[3,2]+x[4]A[4,2] x[1]A[1,3]+x[2]A[2,3]+x[3]A[3,3]+x[4]A[4,3] x[1]A[1,4]+x[2]A[2,4]+x[3]A[3,4]+x[4]A[4,4]]' = [1²+2²+3²+4² 1²+2²+3²+4² 1²+2²+3²+4² 1²+2²+3²+4²]' = [30 30 30 30]'.
Para fazer operações assim em linguagens de programação convencionais (C/C++, Java, Python, Pascal, Perl, etc...) seria necessário declarar as variáveis como vetores ou matrizes (com ponteiros, a depender da situação) e fazer laços de repetição.
Mas, como o Scilab é um software criado para manipular matrizes, deve ser fácil resolver este tipo de problema.
Realmente é fácil, basta fazer o seguinte:
-->x = [1 2 3 4]'; // a apostrofe { ' } indica a transposição, então x é um vetor coluna, pois [1 2 3 4] é um vetor linha e x é [1 2 3 4] transposto.
-->A = [1 2 3 4;
-->1 2 3 4;
-->1 2 3 4;
-->1 2 3 4];
-->y = A*x
y =
30.
30.
30.
30.
Observem a coerência com o que foi explicado, pois obtemos o vetor coluna y = [30 30 30 30]'.
Para os que estudam álgebra linear, esperem que o Scilab vai resolver muitos problemas para vocês.
Este blog tem por finalidade apresentar meus trabalhos e alguns aspectos de minha vida pessoal. Eu (editor do blog) sou engenheiro e mestre em engenharia de teleinformática, sou usuário e entusiasta de software livre, sou católico praticante e espero que o meu blog possa te ajudar.
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário