Excel - Sacar coeficientes del grafico de JuanC

   
Vista:

Sacar coeficientes del grafico de JuanC

Publicado por Antonio anyan.ingenieros@gmail.com (9 intervenciones) el 16/03/2012 12:32:38
Este programa de JuanC, extrae los coeficientes de una regresión polinomica, del grafico de excel.
Hay un par de simples cambios del original. Intento que funcione constantemente, mientras voy cambiando los datos. "Y"se queda en blanco. Paso a paso funciona, paso a paso muy rapidamente falla. ¿velocidad?. Alguna idea. Alguien sable el e-mail de JuanC.
Gracias.



Sub Test3()
'//Objetivo: Sacar los coef. de un polinomio de 3er grado a partir de un gráfico

Dim Y$, sRangoDatos$, sHoja$, sTmp$
Dim c1$, c2$, c3$, c4$

'//Origen de los datos a graficar
sRangoDatos = "A2:B76"

'//Nombre de la hoja destino del gráfico
sHoja = "DATOS"

Application.ScreenUpdating = False

'//Crear gráfico (polinomio de 3er grado)
Charts.Add
ActiveChart.Type = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets(sHoja).Range(sRangoDatos), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:=sHoja
ActiveChart.SeriesCollection(1).Trendlines.Add Type:=xlPolynomial, Order:=3, Forward:=0, Backward:=0, DisplayEquation:=True, DisplayRSquared:=False

'//Tomar fórmula del gráfico ( y = c1x3 + c2x2 + c3x + c4 )
Y = ActiveChart.SeriesCollection(1).Trendlines(1).DataLabel.Caption

'//Eliminar gráfico (opcional)
ActiveSheet.ChartObjects("1 Gráfico").Activate
ActiveChart.Parent.Delete

Application.ScreenUpdating = True

'//Extraer coeficientes (c1, c2, c3 y c4)
Y = LCase(Y)
Y = Replace(Y, " x3", "1x3")
Y = Replace(Y, " x2", "1x2")
Y = Replace(Y, " x", "1x")

sTmp = Split(Y, "x3")(0)
c1 = Replace(Mid(sTmp, InStr(1, sTmp, "=") + 1), " ", "")
c1 = Replace(c1, "+", "")

sTmp = Mid(Y, InStr(1, Y, "x3") + 2)
c2 = Replace(Split(sTmp, "x")(0), " ", "")
c2 = Replace(c2, "+", "")

sTmp = Mid(Y, InStr(1, Y, "x2") + 2)
c3 = Replace(Split(sTmp, "x")(0), " ", "")
c3 = Replace(c3, "+", "")

sTmp = Mid(Y, InStrRev(Y, " ") - 2)
c4 = Replace(sTmp, " ", "")
c4 = Replace(c4, "+", "")

'//Presentamos los coeficientes en Hoja -> "Coeficientes"
Range("I2") = c1
Range("I3") = c2
Range("I4") = c3
Range("I5") = c4

End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

Sacar coeficientes del grafico de JuanC

Publicado por JuanC juanc2942@gmail.com (1053 intervenciones) el 16/03/2012 21:01:45
hola Antonio
no me queda claro el problema, por las dudas... probá usando DoEvents...

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sacar coeficientes del grafico de JuanC

Publicado por Mauricio (4 intervenciones) el 20/01/2013 00:51:55
Hola,

excelente aporte el de JuanC.

viendo tu duda y sin saber exactamente qué es lo que quieres hacer ni para qué, me preguntaba ¿no sería más fácil obtener los coeficientes de la ecuación con las funciones nativas de Excel?

Así obtendrás los coeficientes en un dos por tres cuando cambies tus datos y te dará mayor precisión en los valores.

Por favor, revisa el archivo: CoeficientesPolinomio.xls
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar