%CONESPECTRA Read and write conespectra. % % Thorsten Hansen 2008-05-13 % read data [wavelength L M S] = textread('cones.txt', '%d%f%f%f','delimiter', ','); % alternatively, use dlmread % data = dlmread('cones.txt', ',') % wavelength = data(:,1); L = data(:,2); M = data(:,3); S = data(:,4); % alternatively, read directly from web %url = 'http://www.allpsych.uni-giessen.de/vf/SS-2008-matlab-programmierung-graduiertenkolleg/blatt2/cones.txt'; %data = urlread(url); %[wavelength L M S] = strread(data, '%d%f%f%f','delimiter', ','); % plot plot(wavelength, S, wavelength, M, wavelength, L) xlabel('Wavelength (nm)') ylabel('Spectral sensitivity') box off % myvlambda LplusM = L + M; LplusM = LplusM/max(LplusM(:)); % normalize dlmwrite('myvlambda.txt', [wavelength LplusM], ',') % read and plot V = dlmread('myvlambda.txt', ','); plot(V(:, 1), V(:, 2)) box off xlabel('Wavelength (nm)') ylabel('Spectral sensitivity') % plot LplusM on top to compare visually... hold on plot(wavelength, LplusM, 'r--') % compare numerically max(LplusM - V(:,2)) % improve: save as matfile myvlambda = LplusM; save myvlambda myvlambda clear myvlambda whos myvlambda % gone, ok load myvlambda max(LplusM - myvlambda)