- Timestamp:
- Feb 19, 2010 10:18:56 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sans/Dev/trunk/NCNR_User_Procedures/Common/DataSetHandling.ipf
r612 r631 605 605 // state of the checkbox 606 606 ControlInfo/W=$(win) DANoDS2_cb 607 if(V_ flag)607 if(V_Value) 608 608 DS2 = "NullSolvent" 609 609 endif … … 976 976 977 977 result_i = set1_i - (set2Scale*interp(set1_q[p],set2_q,set2_i)) 978 result_s = sqrt(set1_s^2 + set2Scale^2*interp(set1_q[p],set2_q,set2_s))978 result_s = sqrt(set1_s^2 + (set2Scale*interp(set1_q[p],set2_q,set2_s))^2 ) 979 979 //Calculate result error wave - can we produce corrected Q error? 980 980 … … 1004 1004 //Do addition of I waves - including interpolation if necessary. 1005 1005 Wave result_i = $(resultPath+resultName+"_i") 1006 Wave result_s = $(resultPath+resultName+"_s") 1006 1007 Wave set1_i = $(set1Path+set1Name+"_i") 1007 1008 Wave set1_q = $(set1Path+set1Name+"_q") 1009 Wave set1_s = $(set1Path+set1Name+"_s") 1008 1010 Wave set2_i = $(set2Path+set2Name+"_i") 1009 1011 Wave set2_q = $(set2Path+set2Name+"_q") 1012 Wave set2_s = $(set2Path+set2Name+"_s") 1013 1010 1014 result_i = set1_i + set2Scale*interp(set1_q[p],set2_q,set2_i) 1011 1012 //Calculate result error wave - can we produce corrected Q error? 1013 1015 //Calculate result error wave (note that this is identical to subtraction) 1016 result_s = sqrt(set1_s^2 + (set2Scale*interp(set1_q[p],set2_q,set2_s))^2 ) 1017 1018 // - can we produce corrected Q error? 1014 1019 //Generate history string to record what was done? 1015 1020 return 0 … … 1038 1043 //Do multiplcation of I waves - including interpolation if necessary. 1039 1044 Wave result_i = $(resultPath+resultName+"_i") 1045 Wave result_s = $(resultPath+resultName+"_s") 1040 1046 Wave set1_i = $(set1Path+set1Name+"_i") 1041 1047 Wave set1_q = $(set1Path+set1Name+"_q") 1048 Wave set1_s = $(set1Path+set1Name+"_s") 1042 1049 Wave set2_i = $(set2Path+set2Name+"_i") 1043 1050 Wave set2_q = $(set2Path+set2Name+"_q") 1051 Wave set2_s = $(set2Path+set2Name+"_s") 1052 1044 1053 result_i = set1_i*set2Scale*interp(set1_q[p],set2_q,set2_i) 1045 1046 1047 //Calculate result error wave - can we produce corrected Q error? 1054 //Calculate result error wave 1055 // sum each of the relative errors, interpolating set 2 intensity and error as needed 1056 // then sqrt 1057 result_s = (set2Scale*interp(set1_q[p],set2_q,set2_i)*set1_s)^2 1058 result_s += (set2Scale*set1_i*interp(set1_q[p],set2_q,set2_s))^2 1059 result_s = sqrt(result_s) 1060 1061 // - can we produce corrected Q error? 1048 1062 1049 1063 //Generate history string to record what was done? … … 1073 1087 //Do division of I waves - including interpolation if necessary. 1074 1088 Wave result_i = $(resultPath+resultName+"_i") 1089 Wave result_s = $(resultPath+resultName+"_s") 1075 1090 Wave set1_i = $(set1Path+set1Name+"_i") 1076 1091 Wave set1_q = $(set1Path+set1Name+"_q") 1092 Wave set1_s = $(set1Path+set1Name+"_s") 1077 1093 Wave set2_i = $(set2Path+set2Name+"_i") 1078 1094 Wave set2_q = $(set2Path+set2Name+"_q") 1095 Wave set2_s = $(set2Path+set2Name+"_s") 1096 1079 1097 result_i = set1_i/(set2Scale*interp(set1_q[p],set2_q,set2_i) ) 1080 1081 //Calculate result error wave - can we produce corrected Q error? 1098 //Calculate result error wave 1099 // sum each of the relative errors, interpolating set 2 intensity and error as needed 1100 // then sqrt 1101 result_s = (set1_s/set2Scale/interp(set1_q[p],set2_q,set2_i))^2 1102 result_s += (interp(set1_q[p],set2_q,set2_s)*set1_i/set2Scale/interp(set1_q[p],set2_q,set2_i)^2)^2 1103 result_s = sqrt(result_s) 1104 1105 // - can we produce corrected Q error? 1082 1106 1083 1107 //Generate history string to record what was done?
Note: See TracChangeset
for help on using the changeset viewer.