[R-br] parâmetro com variavel não definida

Waldelene Moura waldelene em yahoo.com.br
Quinta Junho 5 12:26:55 BRT 2014


Oi Rodrigo  entendi um pouco o que voce disse, mas nao consegui juntar com a construção da minha matriz, ja que é ela  o parâmetro da função.

 Estou fazendo  umas funções no meu mestrado na area de controle em que preciso passar matrizes com incertezas politópicas,  como parametros,, no caso as incertezas é a variável p, entro tambem com a variação dessas incertezas np exemplo abaixo chamei de limite,,,

vou detalhar um pouco mais uma função bem modesta  para voce me ajudar e dizer onde  posso aproveitar sua sugestão.


-----    programa principal  -----------------------------------------

limite = 3                              #  da o limite de p , no caso p vai variar de 1  a  4  (verifique que eu não defini a variável p)          
A =  rbind ( c( p + 8 ,     3),     
                  c( 5      , p - 1)  

calcula_matriz(A, limite)         #  chamada da função

------   agora a funcão --------

calcula_matriz <-   function (A, limite) { 
   for ( p in 1 : limite ) {                 #  só aqui definir p
       print (A)
   }  
}

------------------------------------------------------------------
O resultado seria:

para p = 1           A = [9   3;  5  0]
para p = 2           A = [10  3;  5  1] 
para p = 3           A = [11  3;  5  2]  

agradeço  a  quem puder ajudar,
 
Waldelene Moura
Analista de Sistemas
Universidade Federal do Maranhão - PROEN

 


Em Quinta-feira, 5 de Junho de 2014 11:39, Rodrigo Coster <rcoster em gmail.com> escreveu:
 


Waldelene,

O que da pra fazer é definir o valor do parâmetro como padrão. Por exemplo:

calcular_matrizes <- function(x = p + 2) {
p <- rnorm(1)
return(x)
}
calcular_matrizes()


Ele só vai executar o 'x = p + 2' quando a variável x for chamada, que ocorre somente depois de definir o valor de p.




2014-06-05 11:27 GMT-03:00 Waldelene Moura <waldelene em yahoo.com.br>:


>
>Olá pessoal, se alguem puder me ajudar nesse problema agradeço.
>
>
>É o seguinte
>
>
>Preciso passar como parâmetro de uma função uma matriz que possui nos seus 
>elementos uma variável p,  sendo que essa variável p só vai assumir valores dentro da função
>chamada, exemplo,
>
>
>
>
>A = cbind(c(p+5, 6),
>               c(10, p+8))
>
>
>calcular_matrizes (A)
>
>
>
>
>dentro da função calcular_matrizes tenho que achar valores para essa matriz para varios valores de p
>
>
>A pergunta é, como passar esse parâmetro, no caso a matriz A na função, sem dar erro de que a variável p não foi definida? (object 'p' not found).
> 
>Waldelene Moura
>Analista de Sistemas
>Universidade Federal do Maranhão - PROEN
>
> 
>_______________________________________________
>R-br mailing list
>R-br em listas.c3sl.ufpr.br
>https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140605/663d58f2/attachment.html>


Mais detalhes sobre a lista de discussão R-br