I got error in this script
19 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
NANDEESWARAN
il 3 Ott 2023
Modificato: the cyclist
il 3 Ott 2023
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 Commenti
Risposta accettata
the cyclist
il 3 Ott 2023
Modificato: the cyclist
il 3 Ott 2023
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)]);
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!