[R-es] potencia fracional de un número negativo

Olivier Nuñez onunez en unex.es
Jue Oct 15 17:06:42 CEST 2015


De manera más sencilla, si queremos calcular las soluciones de x^q=a ,
donde q es entero, lo siguiente debería funcionar:

sq<-function(a,q){
	x=as.complex(a)
	theta=(2*pi*(1:q)+Arg(x))/q
	complex(mod=Mod(x)^(1/q),arg=theta)
	}
	
> sq(-8,3)
[1] -2+0.000000i  1-1.732051i  1+1.732051i
> sq(-.5,5)
[1] -0.2690149+0.8279428i -0.8705506+0.0000000i -0.2690149-0.8279428i
[4]  0.7042902-0.5116968i  0.7042902+0.5116968i
> 

Un saludo. Olivier

----- Mensaje original -----
De: "Olivier Nuñez" <onunez en unex.es>
Para: "José Trujillo Carmona" <trujillo en unex.es>
CC: "r-help-es" <r-help-es en r-project.org>
Enviados: Jueves, 15 de Octubre 2015 16:19:18
Asunto: Re: [R-es] potencia fracional de un número negativo

Ups, José tiene razón. 
Se puede tambien utilizar polyroot:

para (-0.5)^(1/5)
> polyroot(c(.5, 0, 0, 0, 0, 1))
[1]  0.7042902+0.5116968i -0.2690149+0.8279428i -0.2690149-0.8279428i
[4]  0.7042902-0.5116968i -0.8705506+0.0000000i

para (-8)^(1/3)
> polyroot(c(8, 0, 0, 1))
[1]  1+1.732051i -2+0.000000i  1-1.732051i

----- Mensaje original -----
De: "José Trujillo Carmona" <trujillo en unex.es>
Para: "r-help-es" <r-help-es en r-project.org>
Enviados: Jueves, 15 de Octubre 2015 11:27:20
Asunto: Re: [R-es] potencia fracional de un número negativo

El 15/10/15 a las 11:10, Salvador Castillo Raya escribió:
> No s� si he entendido bien la pregunta, pero creo que lo que quieres obtener es esto:
> (as.complex(-0.5)^(1/5))
> Saludos,Salva

Tampoco funciona:

 > (as.complex(-8)^(1/3))
[1] 1+1.732051i

Solo da una de las raices.

>> To:r-help-es en r-project.org
>> From:canadasreche en gmail.com
>> Date: Thu, 15 Oct 2015 10:45:10 +0200
>> Subject: Re: [R-es] potencia fracional de un n�mero negativo
>>
>> Hola.
>> No s� si va por aqu�, pero prueba a quitar el par�ntesis a (-0.5)
>>
>> Ejemplo
>>
>>   > -0.03125^(1/5)
>> [1] -0.5
>>   >
>>
>> Y se ve qeu -0.5^(5) es -0.03125
>>
>> El 15/10/15 a las 06:02, Alex J. Zambrano escribi�:
>>> Hola a tod en s.
>>>
>>> Realizando el calculo de encontrar la ra�z quinta de -0.5, la cual d�gito
>>> de la siguiente manera
>>>
>>> (-0.5)^(1/5)
>>>
>>> El resultado que me arroja R es NaN.
>>>
>>> Averiguando un poco entre las ayuda de las funciones aritm�ticas encuentro
>>> el siguiente comentario
>>>
>>> Users are sometimes surprised by the value returned, for example why
>>> (-8)^(1/3) is NaN. For double inputs, R makes use of IEC 60559 arithmetic
>>> on all platforms, together with the C system function pow for the ^
>>> operator. The relevant standards define the result in many corner cases. In
>>> particular, the result in the example above is mandated by the C99
>>> standard. On many Unix-alike systems the command man pow gives details of
>>> the values in a large number of corner cases.
>>>
>>> �Qu� opciones puedo utilizar para poder encontrar el resultado?
>>>
>>> Agradezco de antemano la colaboraci�n.
>>>
>>> Cordial saludo.
>>>
>>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>   		 	   		
> 	[[alternative HTML version deleted]]
>
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es


	[[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es