Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [listing_video, Values, listing, Results, str_end] = LinearFitFunctionExport(arg1)
- x = '*.csv';
- % listing = dir(x);
- listing = dir(arg1);
- addpath(arg1);
- % Set up fittype and options.
- ft = fittype( 'poly1' );
- for ii=3:size(listing,1)
- [Values(ii,1:7),str_end{ii},b] = parsefilename(listing(ii).name);
- listing_video{ii} = [b '.mp4'];
- data = 0;
- % read csv file
- data = csvread(listing(ii).name);
- %Creates Array with as many items as datasets (6 variables per dataset -->
- %reduction)
- data2 = reshape(data(1:floor(size(data,1)/6)*6),6,floor(size(data,1)/6))';
- if size(data2,1) < 3
- Results(ii,1:30) = nan(1,30);
- else
- % calculate area
- data2 = [data2 (pi/4)*times(data2(:,5),data2(:,6))];
- % Fit model to data.
- for jj=1:6
- [fitresult, gof] = fit( data2(:,1), data2(:,jj+1), ft );
- % fit results
- p =coeffvalues(fitresult);
- confint_p = confint(fitresult);
- Results(ii,(jj-1)*5+1:(jj-1)*5+5) = [p(2) p(2) - confint_p(1,2) p(1) p(1) - confint_p(1,1) gof.adjrsquare];
- end
- end
- end
- a=struct2table(listing);
- test=[cell2table(listing_video', 'VariableNames',{'videofilename'}) table(Values, 'VariableNames',{'parameters'}) cell2table(str_end', 'VariableNames',{'nachvor'}) a(:,1) table(Results,'VariableNames',{'values'}) ];
- %first two rows always empty --> remove them
- test([1,2],:)=[]
- writetable(test,'schweissbad.csv')
- end
- function [Values,str_end,b] = parsefilename( filename)
- newfilename = strrep(filename, ',','.');
- [Value1] = getnumbersfromstring(newfilename,'ssen_w');
- [Value2] = getnumbersfromstring(newfilename,'-a');
- [Value3] = getnumbersfromstring(newfilename,'-vm');
- [Value4] = getnumbersfromstring(newfilename,'-vg');
- [Value5] = getnumbersfromstring(newfilename,'-f');
- [Value6] = getnumbersfromstring(newfilename,'-p');
- [Value7] = getnumbersfromstring(newfilename,'-vs');
- Values = [Value1 Value2 Value3 Value4 Value5 Value6 Value7];
- disp('VALUES:')
- disp(Values)
- [a,b,c] = fileparts(filename);
- if 'n'==b(end-3)
- str_end = 'nach';
- else
- str_end = 'vor'
- end
- end
- function [Value] = getnumbersfromstring(Str,Key)
- Index = strfind(Str, Key);
- Value = sscanf(Str(Index+length(Key):end), '%f', 1);
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement