Como obter uma janela pop-up animada no MATLAB para exibir minhas funções

1

Peço desculpas se este é o lugar errado para fazer este tipo de pergunta. Eu normalmente uso sistemas OpenSUSE x64, mas devido a problemas para fazer com que qualquer pop-up do MATLAB funcione, mudei para o Fedora para corresponder exatamente ao que meu departamento tinha em seus computadores.

Instalei o MATLAB com permissões de superusuário, e desta vez, quando executo meu programa, eu obtenho uma janela que aparece (isso não aconteceu no OpenSUSE), mas não recebo nenhuma animação na janela.

Como não posso postar o código original, pedi emprestado o código de amostra de alguém:

%// Sample x and y values assumed for demo.
x = 1:1000;
y = x.^2;

%// Plot starts here figure,hold on

%// Set x and y limits of the plot
xlim([min(x(:)) max(x(:))])
ylim([min(y(:)) max(y(:))])

%// Plot point by point
for k = 1:numel(x)
    plot(x(k),y(k),'-') %// Choose your own marker here

    %// MATLAB pauses for 0.001 sec before moving on to execue the next 
    %%// instruction and thus creating animation effect
    pause(0.001);     
end

Este código é executado na máquina do escritório, produzindo uma janela pop-up agradável com um gráfico animado. A janela aparece na minha máquina, mas permanece cinza. Nenhuma animação nem gráfico mostra! Estou executando um sistema Fedora 25 x64 em um sistema Dell Inspiron 13 5368. Alguma sugestão? Obrigado pelo seu tempo.

    
por user415366 11.02.2017 / 18:23

1 resposta

0

Ok, eu consertei o problema, e isso se aplica não apenas aos gráficos animados no MATLAB, mas também aos regulares. Para referência futura, declararei o problema e a solução passo-a-passo abaixo:

Problema : o MATLAB não faz plotagem ou gráfico no Linux. Mensagem de erro típica lê algo como: /usr/local/MATLAB/R2016a/bin/glnxa64/libmwosgserver.so ':   /usr/local/MATLAB/R2016a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6:   versão 'CXXABI_1.3.8' não encontrada (requerida por /lib64/libGLU.so.1

Solução :

Parece ser um problema com o MATLAB usando pacotes openGL nativos, em vez daqueles instalados. Para usá-los, editamos o arquivo .matlab7rc.sh Agora esse arquivo é encontrado na pasta / usr / local / MATLAB / R2016b / bin se você usou o diretório padrão para instalar o MATLAB. Observe também que minha versão instalada era R2016b , e isso será diferente das versões mais antigas e mais recentes do programa.

Agora abra um terminal , e mude seu diretório para / usr / local / MATLAB / R2016b / bin (usando cd / usr / local / MATLAB / R2016b / bin ). Agora .matlab7rc.sh é um arquivo oculto, denotado pelo. precedendo o nome do arquivo. Para verificar se está na pasta, digite ls -a para visualizar os arquivos ocultos. Como alternativa, pode-se digitar ls -a | menos para percorrer interativamente a lista de conteúdos de arquivos.

Depois de determinar que o arquivo está lá, use o comando sudo kwrite .matlab7rc.sh para abrir o arquivo e editá-lo. Note que você precisa usar sudo , senão o arquivo não será salvo. Além disso, usei o kwrite, mas qualquer bloco de notas de edição deve estar bem.

Uma vez dentro do arquivo, descomente cada linha que diz: LDPATH_PREFIX = '$ MATLAB / sys / opengl / lib / $ ARCH'

No meu caso, havia três instâncias dessa linha.

Depois de ter feito isso, salve o arquivo. Se ele for salvo com sucesso, inicialize o MATLAB e execute seu script. Você deve pegar um gráfico que funcione!

    
por 22.02.2017 / 19:57