mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	All of these code samples currently are mis-identified in my repositories. I'm donating them to the cause.
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Matlab
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Matlab
		
	
	
	
	
	
function write_gains(pathToFile, speeds, gains)
 | 
						|
% function write_gains(pathToFile, speeds, gains)
 | 
						|
%
 | 
						|
% Adds the provided gains to the file.
 | 
						|
%
 | 
						|
% Parameters
 | 
						|
% ----------
 | 
						|
% pathToFile : string
 | 
						|
%   The path to a gain file.
 | 
						|
% speeds : matrix(n, 1)
 | 
						|
% gains : matrix (n, 5)
 | 
						|
%   A matrix of gains where each row corresponds to a speed and the columns
 | 
						|
%   correspond to the loops starting at the innermost loop.
 | 
						|
 | 
						|
contents = importdata(pathToFile);
 | 
						|
 | 
						|
speedsInFile = contents.data(:, 1);
 | 
						|
gainsInFile = contents.data(:, 2:end);
 | 
						|
 | 
						|
% remove any speeds that are very close to the speeds provided
 | 
						|
sameSpeedIndices = [];
 | 
						|
for i = 1:length(speedsInFile)
 | 
						|
    for j = 1:length(speeds)
 | 
						|
        if abs(speedsInFile(i) - speeds(j)) < 1e-3
 | 
						|
            sameSpeedIndices = [sameSpeedIndices i];
 | 
						|
        end
 | 
						|
    end
 | 
						|
end
 | 
						|
speedsInFile(sameSpeedIndices) = [];
 | 
						|
gainsInFile(sameSpeedIndices, :) = [];
 | 
						|
 | 
						|
% concatenate data
 | 
						|
allGains = [gainsInFile; gains];
 | 
						|
allSpeeds = [speedsInFile; speeds];
 | 
						|
 | 
						|
% sort the data
 | 
						|
[allSpeeds, order] = sort(allSpeeds);
 | 
						|
allGains = allGains(order, :);
 | 
						|
 | 
						|
% recombine
 | 
						|
all = [allSpeeds, allGains];
 | 
						|
 | 
						|
% rewrite the file
 | 
						|
fid = fopen(pathToFile, 'w');
 | 
						|
h = contents.colheaders;
 | 
						|
fprintf(fid, '%s,%s,%s,%s,%s,%s\n', h{1}, h{2}, h{3}, h{4}, h{5}, h{6});
 | 
						|
fprintf(fid, '%1.3f,%1.4f,%1.4f,%1.4f,%1.4f,%1.4f\n', all');
 | 
						|
fclose(fid);
 |