converting an excel formula into matlab
조회 수: 35 (최근 30일)
이전 댓글 표시
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
채택된 답변
Wan Ji
2021년 8월 16일
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
Wan Ji
2021년 8월 16일
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')
추가 답변 (1개)
dpb
2021년 8월 16일
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...
참고 항목
카테고리
Help Center 및 File Exchange에서 Spreadsheets에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!