predicting the trends of diagram
    7 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    shahin hashemi
 el 5 de Jun. de 2018
  
    
    
    
    
    Comentada: Image Analyst
      
      
 el 6 de Jun. de 2018
            dear all
i have 2 data point like this that come from nonlinear equations :
x=[13 8 6 5.5 5 4.9 4.8 4.795 4.792 4.791  4.77 4.76 ]
y=[0.154058581114650  0.149736758736220  0.144520156929792  0.141698370356069  0.136778534431870  0.135128381143846  0.132667849050780  0.132491826080336  0.132381996482185  0.132344176545640  0.131391601025611  0.130704833218502]
plot(x,y)
and when i plot these points i got following diagram

is there any way to predict at which point of x the y is equal to zero
thank you all
2 comentarios
  Star Strider
      
      
 el 5 de Jun. de 2018
				Be very careful with any extrapolation you do with these (or any other) data. The curve you posted could be part of a function that may never be close to 0.
If the points you plotted are from a deterministic equation, you do not need to interpolate. Simply calculate them.
Please do not ever extrapolate so far beyond the region of known data.
Respuesta aceptada
  Image Analyst
      
      
 el 5 de Jun. de 2018
        You could try this:
x=[13 8 6 5.5 5 4.9 4.8 4.795 4.792 4.791  4.77 4.76 ]
y=[0.154058581114650  0.149736758736220  0.144520156929792  0.141698370356069  0.136778534431870  0.135128381143846  0.132667849050780  0.132491826080336  0.132381996482185  0.132344176545640  0.131391601025611  0.130704833218502]
plot(x,y, 'bs-')
grid on;
% Find coefficients of a line
[sortedX, sortOrder] = sort(x, 'Ascend');
sortedY = y(sortOrder);
coefficients = polyfit(sortedX(1:2), sortedY(1:2), 1);
% Line equation is y = coefficients(1) * x + coefficients(2)
% y=0 when x = -coefficients(2) / coefficients(1)
xWhenYEquals0 = -coefficients(2) / coefficients(1)
% Plot it.
hold on;
plot(xWhenYEquals0, 0, 'r*');
% Plot line from there tothe first data point.
plot([xWhenYEquals0, sortedX(1)], [0, sortedY(1)], 'r-');

If you want some other model, other than linear extrapolation of the left-most two points, let me know.
4 comentarios
  Image Analyst
      
      
 el 6 de Jun. de 2018
				Just give me an equation like y = a1 * sin(a2*x) + a3 * cos(a4*x).^2 or whatever you expect the theory to be. The a's would be the unknowns to be solved for.
Más respuestas (1)
  Image Analyst
      
      
 el 5 de Jun. de 2018
        You can fit a line between the left two points and extrapolate. Or do you have some model/equation you think the whole curve follows, and if so do you have the stats toolbox?
Ver también
Categorías
				Más información sobre Matrix Computations en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!