Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Dear all, I want to known if exist a function that allow me to evaluate the
width of a curve at the half maximun, in other words i have this curve: 547,056 0,36462 547,312 0,92992 547,607 1,5895 547,973 2,42901 548,346 3,27816 549,004 4,82401 549,485 5,93209 549,814 6,68611 549,995 7,09917 550,247 7,66953 550,466 8,14714 550,649 8,53657 550,831 8,91781 551,018 9,28973 551,199 9,65214 551,383 10,0039 551,563 10,3441 551,708 10,6078 551,889 10,9265 552,029 11,1721 552,209 11,4664 552,354 11,691 552,461 11,8532 552,566 12,01 552,709 12,2108 552,814 12,3546 552,921 12,4922 553,063 12,6684 553,204 12,8327 553,344 12,9879 553,484 13,1315 553,588 13,2317 553,728 13,3562 553,866 13,4683 553,969 13,5457 554,072 13,6175 554,177 13,683 554,313 13,7612 554,449 13,827 554,586 13,884 554,721 13,9295 554,857 13,9639 554,958 13,9829 555,091 13,9993 555,226 14,0054 555,36 14,0017 555,492 13,9884 555,622 13,9652 555,755 13,9329 555,887 13,8915 556,054 13,8257 556,187 13,7631 556,319 13,6928 556,447 13,6141 556,61 13,5046 556,772 13,3821 556,935 13,2477 557,064 13,1324 557,224 12,9778 557,385 12,8144 557,546 12,6405 557,707 12,4574 557,868 12,2659 558,059 12,026 558,252 11,7755 558,442 11,5164 558,631 11,2486 558,885 10,8798 559,171 10,4526 559,461 10,0145 559,897 9,31688 560,496 8,35371 560,964 7,58946 561,345 6,98379 561,753 6,33798 562,167 5,70317 562,511 5,17913 562,894 4,6185 563,236 4,11813 563,583 3,6317 563,933 3,15866 564,185 2,82359 564,439 2,49375 564,758 2,09324 565,074 1,70357 565,426 1,28781 565,714 0,95518 566,032 0,59624 566,352 0,24715 and i need to known the width at half maximum? it is possible? |
#2
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Mauro,
find one of the possible solutions via VBA UDF that gives a straight answer. Please notice the interpolation between two adjacent points at a halfheight lever on both branches, it is little more exact than the bare selection of a single nearest point. It is, of course, managable by using a series of Excel functions too. Good school excercise. Function HalfWidth(X As Variant, Y As Variant) As Double '..of a single peak. Dim YHalf As Double, XHalf1 As Double, XHalf2 As Double, I As Long If X.Count < Y.Count Then Exit Function YHalf = WorksheetFunction.Max(Y) / 2 'peak halfheight I = 0 Do I = I + 1 'seeking the pair of points If Y(I) YHalf Then 'on the increasing branch XHalf1 = X(I) + (X(I) - X(I - 1)) / (Y(I) - Y(I - 1)) * (YHalf - Y(I - 1)) Exit Do 'and interpolation for the intersection End If 'with YHalf level Loop I = X.Count Do I = I - 1 'seeking the pair of points If Y(I) < YHalf Then 'on the decreasing branch XHalf2 = X(I) + (X(I + 1) - X(I)) / (Y(I + 1) - Y(I)) * (YHalf - Y(I)) Exit Do 'and interpolation for the intersection End If 'with YHalf level Loop HalfWidth = XHalf2 - XHalf1 End Function Good luck -- Petr Bezucha "Mauro" wrote: Dear all, I want to known if exist a function that allow me to evaluate the width of a curve at the half maximun, in other words i have this curve: 547,056 0,36462 547,312 0,92992 547,607 1,5895 547,973 2,42901 548,346 3,27816 549,004 4,82401 549,485 5,93209 549,814 6,68611 549,995 7,09917 550,247 7,66953 550,466 8,14714 550,649 8,53657 550,831 8,91781 551,018 9,28973 551,199 9,65214 551,383 10,0039 551,563 10,3441 551,708 10,6078 551,889 10,9265 552,029 11,1721 552,209 11,4664 552,354 11,691 552,461 11,8532 552,566 12,01 552,709 12,2108 552,814 12,3546 552,921 12,4922 553,063 12,6684 553,204 12,8327 553,344 12,9879 553,484 13,1315 553,588 13,2317 553,728 13,3562 553,866 13,4683 553,969 13,5457 554,072 13,6175 554,177 13,683 554,313 13,7612 554,449 13,827 554,586 13,884 554,721 13,9295 554,857 13,9639 554,958 13,9829 555,091 13,9993 555,226 14,0054 555,36 14,0017 555,492 13,9884 555,622 13,9652 555,755 13,9329 555,887 13,8915 556,054 13,8257 556,187 13,7631 556,319 13,6928 556,447 13,6141 556,61 13,5046 556,772 13,3821 556,935 13,2477 557,064 13,1324 557,224 12,9778 557,385 12,8144 557,546 12,6405 557,707 12,4574 557,868 12,2659 558,059 12,026 558,252 11,7755 558,442 11,5164 558,631 11,2486 558,885 10,8798 559,171 10,4526 559,461 10,0145 559,897 9,31688 560,496 8,35371 560,964 7,58946 561,345 6,98379 561,753 6,33798 562,167 5,70317 562,511 5,17913 562,894 4,6185 563,236 4,11813 563,583 3,6317 563,933 3,15866 564,185 2,82359 564,439 2,49375 564,758 2,09324 565,074 1,70357 565,426 1,28781 565,714 0,95518 566,032 0,59624 566,352 0,24715 and i need to known the width at half maximum? it is possible? |
#3
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Hello,
Assuming that the x- and y- data are in columns A and B (e.g., A1:A89, and B1:B89) respectively, enter the following formula in C1 and drag it to fill the Column C (C1:C89), =IF(B1<MAX($B$1:$B$89)/2," ",ROW()) In some cell, say D1, enter the formula, =INDIRECT("A"&MAX(C:C))-INDIRECT("A"&MIN(C:C)) Please note that this will not do any interpolation but will estimate the fwhm from the discrete data points. I think, the estimated fwhm will be acceptably close to the actual fwhm, if the x-values are closely-spaced. Best regards, B.R. Ramachandran "Mauro" wrote: Dear all, I want to known if exist a function that allow me to evaluate the width of a curve at the half maximun, in other words i have this curve: 547,056 0,36462 547,312 0,92992 547,607 1,5895 547,973 2,42901 548,346 3,27816 549,004 4,82401 549,485 5,93209 549,814 6,68611 549,995 7,09917 550,247 7,66953 550,466 8,14714 550,649 8,53657 550,831 8,91781 551,018 9,28973 551,199 9,65214 551,383 10,0039 551,563 10,3441 551,708 10,6078 551,889 10,9265 552,029 11,1721 552,209 11,4664 552,354 11,691 552,461 11,8532 552,566 12,01 552,709 12,2108 552,814 12,3546 552,921 12,4922 553,063 12,6684 553,204 12,8327 553,344 12,9879 553,484 13,1315 553,588 13,2317 553,728 13,3562 553,866 13,4683 553,969 13,5457 554,072 13,6175 554,177 13,683 554,313 13,7612 554,449 13,827 554,586 13,884 554,721 13,9295 554,857 13,9639 554,958 13,9829 555,091 13,9993 555,226 14,0054 555,36 14,0017 555,492 13,9884 555,622 13,9652 555,755 13,9329 555,887 13,8915 556,054 13,8257 556,187 13,7631 556,319 13,6928 556,447 13,6141 556,61 13,5046 556,772 13,3821 556,935 13,2477 557,064 13,1324 557,224 12,9778 557,385 12,8144 557,546 12,6405 557,707 12,4574 557,868 12,2659 558,059 12,026 558,252 11,7755 558,442 11,5164 558,631 11,2486 558,885 10,8798 559,171 10,4526 559,461 10,0145 559,897 9,31688 560,496 8,35371 560,964 7,58946 561,345 6,98379 561,753 6,33798 562,167 5,70317 562,511 5,17913 562,894 4,6185 563,236 4,11813 563,583 3,6317 563,933 3,15866 564,185 2,82359 564,439 2,49375 564,758 2,09324 565,074 1,70357 565,426 1,28781 565,714 0,95518 566,032 0,59624 566,352 0,24715 and i need to known the width at half maximum? it is possible? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Concvert Full Width Katakana characters into Half Width Katakana C | Excel Discussion (Misc queries) | |||
print half of rows on left and other half on right | Excel Discussion (Misc queries) | |||
Data-Validation-List-Width of list must be colomn width, is this possible | Excel Worksheet Functions | |||
ASC() does not convert full-width to half-width letters (Exel 2003 | Excel Worksheet Functions | |||
How to make cell width different than the column width it lies in | Excel Discussion (Misc queries) |