# I am having issues concatenating arrays

2 views (last 30 days)
A Poyser on 22 May 2023
Commented: A Poyser on 22 May 2023
I have a piece of code that I am trying to concatinate some arrays. I am being told that they are not consistent, and that vertcat has an error
% ...
N_Vv = 100;
Vv = linspace(0, 0.7, N_Vv);
cdp_initial = 0; % Initial vanishing crack density parameter
cdp_increment = 0.01; % Increment value for cdp
applied_stress = 100; % Applied stress (modify as per your requirement)
N_cycles_max = 1000; % Maximum number of cycles (modify as per your requirement)
stress_ratio = zeros(N_Vv, 1); % Preallocate stress_ratio as a vector of zeros
for k = 1:N_Vv
% Homogenised stiffness and compliance with voids and cracks
% ...
% Calculate stress intensity factor (KIc) based on Griffith's equation
KIc0 = sqrt(1E-3 * (1 - Vv(k)) / 2 * eps' * Am * C2m * Fc * Am' * eps);
% Estimate fatigue life based on crack growth rate
% ...
% Increment cdp based on applied stress and number of cycles
% ...
% Store maximum/applied stress ratio at the corresponding index
stress_ratio(k) = KIc0 / applied_stress;
% ...
end
the line that says
stress_ratio(k) = KIc0 / applied_stress;
gives the error
I have also tried
stress_ratio(k) = KIc0 / applied_stress;
which tells me that the left and right sides have a different number of elements
How can I figure out how to correct this scaling issue
A Poyser on 22 May 2023
Appologies I meant that I have also tried
stress_ratio = [stress_ratio; KIc0 / applied_stress];
which gives the vertcat error

VBBV on 22 May 2023
Edited: VBBV on 22 May 2023
In the below line you have several variables, C2m, Fc, Am which may be multidimensional matrices
KIc0 = sqrt(1e-3 * (1 - Vv(k)) / 2 * eps' * Am * C2m * Fc * Am' * eps);
A Poyser on 22 May 2023
awesome, thanks

### Categories

Find more on Stress and Strain in Help Center and File Exchange

R2022b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!