
converting an excel formula into matlab
29 views (last 30 days)
Show older comments
I've written the formulas out that I require in excel, but now I want to put these into matlab.
The current matlab code I have is below, but I am struggling to convert column D in my excel file to code in matlab. Could anybody help?
resV = sqrt(vel(:,1).^2 +vel(:,2).^2 + vel(:,3).^2);
time = 1:1935804;
time = time';
GT = resV-mean(resV);
GT2 = GT.^2;
RMS = sqrt(
0 Comments
Accepted Answer
Wan Ji
on 16 Aug 2021
Hi, friend, I have translated your excel function to matlab command line.
clc;clear
a = readtable('C-RMSfluctuation.xlsx','PreserveVariableNames',true);
cols = a.Properties.VariableNames;
a{:,cols{3}} = a{:,cols{2}}.^2;
a{:,cols{4}} = sqrt(cumsum(a{:,cols{3}})./a{:,cols{1}});
writetable(a,'C-RMSfluctuation_New.xlsx') % strore the result in a new xlsx file
The result table is shown like this

2 Comments
Wan Ji
on 16 Aug 2021
If you want to totally implement your idea with matlab, then:
resV = sqrt(vel(:,1).^2 +vel(:,2).^2 + vel(:,3).^2);
time = 1:1935804;
time = time';
GT = resV-mean(resV);
GT2 = GT.^2;
col_4 = sqrt(cumsum(GT2)./time);
a = table(time, col_4);
writetable(a,'NewTable.xlsx')
More Answers (1)
dpb
on 16 Aug 2021
resV = vecnorm(vel,2,2); % 2-norm by row
time = 1:1935804.'; % dunno what time represents, use a timetable instead, maybe?
GT = detrend(resV); % again, use MATLAB-supplied function
RMS = rms(GT); % and yet again, builtin guessing is what wanted rms of...
It's daunting to find all the functions that are available initially, granted...just takes some time.
The venerable lookfor command is still valuable if you have an idea of what you want but don't know the name...
See Also
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!