How to find curvature as a function of temperature
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
DIVI CHANDANA
am 10 Jun. 2013
Bearbeitet: Meshooo
am 28 Nov. 2014
Sir,
I have coordinates for series of temperature for a curve.. Now I need to find the curvature of this using mat lab.. Can any one help me solving this.
I have solved using coordinates at initial and final temperature with the following formula.
k=(d^2T/dx^2)/(1+(dT/dx)^2)^(3/2)
But how to find curvature as a function of temperature when i have coordinates for series of temperature...???
Please some one help me in solving so..
Thanking you in advance..
1 Kommentar
Akzeptierte Antwort
Roger Stafford
am 11 Jun. 2013
Bearbeitet: Roger Stafford
am 11 Jun. 2013
You can find an approximate curvature from discrete data using the curvature of a circle which passes through three adjacent points in your curve and it can be considered the curvature associated with the center point. The accuracy depends on the accuracy of the data and how close together the points are - the closer, the less accurate. It uses the well-known formula stating that the curvature of a circle through three points is equal to four times the area of a triangle with those points as vertices divided by the product of its three sides.
Let x be a column vector of x data and T be a column vector of the corresponding temperature values. The x values do not have to be equally-spaced.
n = size(x,1);
dx = diff(x); dT = diff(T);
d = dx.^2+dT.^2;
K = 2*(dx(1:n-2).*dT(2:n-1)-dx(2:n-1).*dT(1:n-2)) ./ ...
sqrt(d(1:n-2).*d(2:n-1).*((x(3:n)-x(1:n-2)).^2+(T(3:n)-T(1:n-2)).^2));
K = [K(1);K;K(n-2)]; % Copy the two end values
K will be an n-length vector of the corresponding curvatures at each of the points. It is positive where curvature is upward and negative where it is downward. The pair of points at each end of necessity have equal curvatures since each end pair must use the same three points.
In case your data is too noisy for this technique to be accurate, there are ways of approximating curvature on sets of more than three points using least squares methods, but I don't have time at the present to work these out.
Weitere Antworten (1)
Youssef Khmou
am 10 Jun. 2013
hi,
You computed the curvature as function of temperature , then you have the initial and final values of the temperature, you can proceed as the following :
% given your vector K and boundaries values Ti Tf
N=length(K);
T=linspace(Ti,Tf,N);
figure, plot(T,K), xlabel(' Temperature'), ylabel(' Curvature');
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!