1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Matlab - Dúvida

Discussão em 'Programação' iniciada por AMSA, 11 de Maio de 2012. (Respostas: 2; Visualizações: 885)

  1. AMSA

    AMSA Suspenso

    Boas pessoal,

    Gostaria de saber se me poderiam dar aqui uma ajuda para esclarecer uma questão que tenho com as funções do matlab, mais precisamente o fsolve.

    Acontece que, pelo que já estive a ver, não é possivel passar mais do que um argumento na função fsolve, por exemplo, só podemos fazer algo do estilo:

    function F = myObjectiveFunction(x)

    F = [2*x(1) - x(2) - exp(-x(1));
    -x(1) + 2*x(2) - exp(-x(2))];

    ou

    F(1)=2*x(1) - x(2) - exp(-x(1));
    F(2)=x(1) + 2*x(2) - exp(-x(2);

    Agora o que acontece é que, eu depois de ter as minhas equações dentro da minha função, eu queria aceder a um outro ficheiro, onde tem os respectivos dados que preciso para efectuar os calculos na função.

    Como tal, não sei como fazer isso. Já tentei colocar o nome do ficheiro dentro da função, mas não resolve.

    Alguém sabe como fazer isso?

    Cumps.
     
  2. Mach4_PT

    Mach4_PT Power Member

    Tens duas hipoteses.
    Ou gravas os dados num ficheiro .mat do matlab e depois usas fazendo "load nome_do_ficheiro.mat"
    Ou então metes os dados num ficheiro .m e para executar é só chamar esse ficheiro escrevendo apenas "nome do ficheiro" na função.

    Por exemplo, neste momento estou a fazer um projecto em que guardei todas as constantes num ficheiro "constantes_fast_sim.m" que está na mesma pasta do meu ficheiro principal.
    Para usar os dados que inicializei nesse primeiro ficheiro corro apenas "constantes_fast_sim;" no programa principal

    (as aspas não são para por!)
     
  3. maGL

    maGL Power Member

    Nao esquecer que o ficheiro tem de estar o workspace.
     

Partilhar esta Página