scilab (Resolvido)

Iniciado por hvduarte, 20 de Janeiro de 2007, 17:29

tópico anterior - próximo tópico

hvduarte

Instalei o scilab 4.0 pelo synapitc no Ubuntu 6.10. A versão instalada não está funcionando corretamente, parece haver alguma falha que não é de configuração, a operação de multiplicação da matriz por sua inversa não gera uma matriz diagonal, na realidade aparecem zeros na diagonal(!!!) o que é um erro sério. Tive o mesmo problema no kurumin 6.1 com esta versão do scilab. Não vi no forum do ubuntu problema semelhante, não há nada reportado nos bugs do Debian. Sugestões?


hvduarte

20/01/07

bruno.vitorino

Bem eu testei aqui e deu o resultado correcto.


A = [2 2;0 3]
B = [1/2 -1/3; 0 1/3] //Matriz inversa calculada por mim

A * B = [1 0;0 1]


persistência, persistência,persistência...



hvduarte

Caro bruno.vitorino obrigado pelo interesse, mas
tente com uma matriz um pouco maior e cheia,  a seguinte matriz:

-->a=[10 2 3;11 12 13;21 22 23]
a  =

    10.    2.     3.   
    11.    12.    13. 
    21.    22.    23. 

-->det(a)              // determinante muito diferente de zero   sem problemas numéricos para o programa                   
ans  =

  - 90. 

-->inv(a)*a                                   
ans  =

    0.         - 1.388D-16  - 1.249D-16 
  - 3.997D-15    0.         - 1.332D-15 
    4.663D-15    1.332D-15    1.         
 
-->diag(inv(a)*a)
ans  =

    0. 
    0. 
    1. 

!!!!

bruno.vitorino

Tem razão, é realmente estranho!  ???
Também já experimentei com o invr() e dá o mesmo... se for uma matriz quadrada 2x2 funciona na perfeição.
persistência, persistência,persistência...



hvduarte

Enviei um notificação de bug para o mantenedor Debian deste pacote, recebi a informação de que a versão 4.0-2 está com um erro, mas este problema já foi corrigido nas versões mais recentes, a versão Debian atual é a 4.0-12.

saudações

hvduarte

hvduarte

Postei o problema e recebi a seguinte mensagem da equipe de desenvolvedores do Scilab:

The problem probabily comes from a gfortran bug with makes some Scilab
display wrong (the numbers like 0.999999999 are displayed as zeros
instead of one)

You can verify if it is only a display problem with

-->diag(inv(a)*a)-1


If it is not the display bug please let us know.

This bug as been fixed in the Scilab-4.1 version

Serge Steer
Scilab Team


Como solução, copiei (baixei) do repositório Debian os programas scilab_4.0-12_all.deb, scilab_bin__4.0-12_i386.deb e scilab_doc_4.0-12_all.deb e instalei-os com o Gdebi, que vem no Ubuntu. Funcionou sem problemas uma vez que os outros programas necessários já haviam sido instalados anteriormente (durante a instalação da versão versão anterior 4.0-2, que estava dando problemas). Testei algumas funções e alguns dos programas que uso sem problemas de compatibilidade ou conflitos.

hvduarte