Advertisement
314K

Lab 1a raman

Mar 22nd, 2025
2,194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 4.08 KB | None | 0 0
  1. % clear
  2. % close all
  3. clc
  4.  
  5. %%
  6.  
  7. labels{1} = '30 sec, 20 ml/min';
  8. labels{2} = '30 sec, 30 ml/min';
  9. labels{3} = '30 sec, 40 ml/min';
  10. labels{4} = '120 sec, 20 ml/min';
  11.  
  12. data{1} = load('0.5min_20ml.txt');
  13. data{2} = load('0.5min_30ml.txt');
  14. data{3} = load('0.5min_40ml.txt');
  15. data{4} = load('2min_20ml.txt');
  16.  
  17. faint = 0.25;
  18. clr_f{1} = [0.6350 0.0780 0.1840 faint];
  19. clr_f{2} = [0.4660 0.6740 0.1880 faint];
  20. clr_f{3} = [0 0.4470 0.7410 faint];
  21. clr_f{4} = [0.4940 0.1840 0.5560 faint];
  22.  
  23. % data_smooth = cell(1,4);
  24. % for i = 1:length(data)
  25. %     x = data{i}(:,1);
  26. %     y = data{i}(:,2);
  27. %     yy = smooth(y,'rlowess')
  28. %     data_smooth{i} = yy;
  29. % end
  30.  
  31. clr{1} = [0.6350 0.0780 0.1840];
  32. clr{2} = [0.4660 0.6740 0.1880];
  33. clr{3} = [0 0.4470 0.7410];
  34. clr{4} = [0.4940 0.1840 0.5560];
  35.  
  36.  
  37. figure
  38.  
  39. val_range{1} = [100 240];
  40. val_range{2} = [1250 1400];
  41. val_range{3} = [1540 1640];
  42. val_range{4} = [2500 2750];
  43. span = [0.1 0.5 0.1 0.4];
  44. ylims{1} = [40 140];
  45. ylims{2} = [40 90];
  46. ylims{3} = [0 400];
  47. ylims{4} = [40 100];
  48.  
  49. for i = 1:length(val_range)
  50.     A = find(data{i}(:,1) >= val_range{i}(1), 1);
  51.     B = find(data{i}(:,1) >= val_range{i}(2), 1);
  52.     ind_range{i} = [A:B];
  53. end
  54.  
  55. %
  56. % fit_types = ['gauss2' 'gauss1' 'gauss3' 'gauss1'];
  57.  
  58. for i = 1:length(data)
  59.    
  60.     subplot(2,length(val_range),[1:length(val_range)])
  61.     hold on
  62.     grid on
  63.     plot(data{i}(:,1),data{i}(:,2),'-','color',clr{i})
  64.     xlabel('wavenumber, cm^{-1}')
  65.     ylabel('intensity, a.u.')
  66.     legend(labels)
  67.     ftype()
  68.    
  69.     for j = 1:length(val_range)
  70.         subplot(2,length(val_range),length(val_range)+j)
  71.         [x1,y1,yy1] = smoother(data{i},ind_range{j},span(j));
  72.         hold on
  73.         grid on
  74.         plot(x1,y1,'color',clr_f{i})
  75.         plot(x1,yy1,'color',clr{i},'Linewidth',2)
  76.         xlim(val_range{j})
  77.         xlabel('wavenumber, cm^{-1}')
  78.         ylabel('intensity, a.u.')
  79.         ylim(ylims{j})
  80.         ftype()
  81.     end
  82.  
  83. %     for j = 1:length(val_range)
  84. %         subplot(2,length(val_range),length(val_range)+j)
  85. %         hold on
  86. %         grid on
  87. %         [x1,y1,yy1] = fitter(data{i},ind_range{j},fit_types(j));
  88. %         xlim(val_range{j})
  89. %         xlabel('wavenumber, cm^{-1}')
  90. %         ylabel('intensity, a.u.')
  91. %         ftype()
  92. %     end
  93.    
  94. %     subplot(2,4,5)
  95. %     [x1,y1,yy1] = smoother(data{i},ind_range{1});
  96. %     hold on
  97. %     grid on
  98. %     plot(x1,y1,'color',clr_f{i})
  99. %     plot(x1,yy1,'color',clr{i})
  100. %     xlim(val_range{1})
  101. %     xlabel('wavenumber, cm^{-1}')
  102. %     ylabel('intensity, a.u.')
  103. %    
  104. %     subplot(2,4,6)
  105. %     [x,y,yy] = smoother(data{i},ind_range{2});
  106. %     hold on
  107. %     grid on
  108. %     plot(x,y,'color',clr_f{i})
  109. %     plot(x,yy,'color',clr{i})
  110. %     xlim(val_range{2})
  111. %     xlabel('wavenumber, cm^{-1}')
  112. %     ylabel('intensity, a.u.')
  113. %    
  114. %     subplot(2,4,7)
  115. %     [x,y,yy] = smoother(data{i},ind_range{3});
  116. %     hold on
  117. %     grid on
  118. %     plot(x,y,'color',clr_f{i})
  119. %     plot(x,yy,'color',clr{i})
  120. %     xlim(val_range{3})
  121. %     xlabel('wavenumber, cm^{-1}')
  122. %     ylabel('intensity, a.u.')
  123. %    
  124. %     subplot(2,4,8)
  125. %     [x,y,yy] = smoother(data{i},ind_range{4});
  126. %     hold on
  127. %     grid on
  128. %     plot(x,y,'color',clr_f{i})
  129. %     plot(x,yy,'color',clr{i})
  130. %     xlim(val_range{4})
  131. %     xlabel('wavenumber, cm^{-1}')
  132. %     ylabel('intensity, a.u.')
  133. end
  134.  
  135.  
  136. %%
  137.  
  138. function [x,y,yy] = smoother(data,range,span);
  139. x = data(range,1);
  140. y = data(range,2);
  141. yy = smooth(y,span,'loess');
  142. end
  143.  
  144. function [x,y,yy] = fitter(data,range,degree)
  145.  
  146. faint = 0.25;
  147. clr_f{1} = [0.6350 0.0780 0.1840 faint];
  148. clr_f{2} = [0.4660 0.6740 0.1880 faint];
  149. clr_f{3} = [0 0.4470 0.7410 faint];
  150. clr_f{4} = [0.4940 0.1840 0.5560 faint];
  151.  
  152. clr{1} = [0.6350 0.0780 0.1840];
  153. clr{2} = [0.4660 0.6740 0.1880];
  154. clr{3} = [0 0.4470 0.7410];
  155. clr{4} = [0.4940 0.1840 0.5560];
  156.  
  157. x = data(range,1);
  158. y = data(range,2);
  159. F = fit(x,y,degree);
  160.  
  161. plot(x,y,'color',clr_f{i})
  162. plot(F,x,y,'color',clr{i})
  163. end
  164.  
  165. function ftype()
  166. set(gca,'FontSize',13,'fontWeight','bold')
  167. set(findall(gcf,'type','text'),'FontSize',13,'fontWeight','bold')
  168. end
  169.  
  170.  
  171.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement