I need help trying to exclude values past position 19 from an array of 295. I have tried using the exlude command but was unable to understand the syntax. The array is converted from a table of data into StrainA. Then the data is checked to see at which point the graph is non-linear. I then only want to graph the regression line for that data. WhennonLinear = 19 for this data set. I cannot send the data file.
Example:
Force = TensileTestData(:,7);
Area = 4 * .25;
Stress = Force ./ Area;
Strain = TensileTestData(:,6);
StrainA= table2array(Strain);
StressA =table2array(Stress);
PositionNonLin = ischange(StressA,'linear', 'MaxNumChanges',1);
WhennonLinear = find(PositionNonLin==1);
RegStrainA = exclude(StrainA,[:,WhennonLinea:end]);
Regression = fitlm(RegStrainA,StressA);
figure(1)
hold on
scatter(StrainA, StressA)
plot (Regression)
title('Tensile Test')
xlabel("Strain")
ylabel("Stress")
hold off

1 Kommentar

Voss
Voss am 30 Mär. 2024
Bearbeitet: Voss am 30 Mär. 2024
By the way, you can get the values out of the table directly by using curly braces instead of parentheses:
Force = TensileTestData{:,7};
Area = 4 * .25;
StressA = Force ./ Area;
StrainA = TensileTestData{:,6};
Then you can omit the table2array lines.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Voss
Voss am 30 Mär. 2024

0 Stimmen

WhennonLinear = find(PositionNonLin==1);
Regression = fitlm(StrainA(1:WhennonLinear-1),StressA(1:WhennonLinear-1));

Weitere Antworten (0)

Kategorien

Produkte

Version

R2024a

Gefragt:

am 30 Mär. 2024

Bearbeitet:

am 30 Mär. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by