I got error in this script
조회 수: 1 (최근 30일)
이전 댓글 표시
clear,clc,close all
datas = readtable('time_vs_load.xlsx','Sheet',2,'NumHeaderLines',1);
time = datas(:,1);
load = datas(:,2);
h = mean(diff(time));
n = length(load);
% Peak Loading Rate Using Central Difference formula
peak_l_r =(-3*load(1) + 4*load(2) - load(3))/(2*h);
for i = 2:n-1
peak_l_r = (load(i+1)-load(i-1))/(2*h);
end
peak_l_r = (load(n-2)-4*load(n-2) + 3*load(n))/(2*h);
peak_l_r = max(peak_l_r)
pear_loading_rate = peak_l_r
% Impulse during the entire timeseries using Trapezoidal methods
impulse = trapz(time,load)
% Results
disp(['Peak loading rate: ', num2str(peak_loading_rate)]);
disp(['Impulse: ', num2str(impulse)]);
댓글 수: 0
채택된 답변
the cyclist
2023년 10월 3일
편집: the cyclist
2023년 10월 3일
The line
time = datas(:,1);
will give a table with one variable. You need to use curly brackets in access the contents of the table column.
time = datas{:,1};
This code works (after I fixed the typo "pear_loading_rate"):
clear,clc,close all
datas = readtable('time_vs_load.xlsx','Sheet',2,'NumHeaderLines',1);
time = datas{:,1};
load = datas{:,2};
h = mean(diff(time));
n = length(load);
% Peak Loading Rate Using Central Difference formula
peak_l_r =(-3*load(1) + 4*load(2) - load(3))/(2*h);
for i = 2:n-1
peak_l_r = (load(i+1)-load(i-1))/(2*h);
end
peak_l_r = (load(n-2)-4*load(n-2) + 3*load(n))/(2*h);
peak_l_r = max(peak_l_r)
peak_loading_rate = peak_l_r
% Impulse during the entire timeseries using Trapezoidal methods
impulse = trapz(time,load)
% Results
disp(['Peak loading rate: ', num2str(peak_loading_rate)]);
disp(['Impulse: ', num2str(impulse)]);
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Signal Generation and Preprocessing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!