Need help with looping to populate matrix using if statement

clc;
clear all;
close all;
load('Stress_Strain.mat')
count = 0;
for i = 1:1000
if Stress_Strain_2(:,2) == count;
StressStrain(i,2) = Stress_Strain_2(i,2);
end
count = count + 0.001
end
% for i = 1:1000
%
% if Stress_Strain_2(i,2) = count && Stress_Strain_2(i,2) > 0.0999;
% Percent_Strain_2(1,2) = Stress_Strain_2(i,2);
% Percent_Strain_2(1,1) = Stress_Strain_2(i,1);
% elseif Stress_Strain_2(i,2) < 0.2001 && Stress_Strain_2(i,2) > 0.1999;
% Percent_Strain_2(2,2) = Stress_Strain_2(i,2);
% Percent_Strain_2(2,1) = Stress_Strain_2(i,1);

1 Kommentar

KSSV
KSSV am 7 Mär. 2016
Bearbeitet: KSSV am 7 Mär. 2016
What exactly you want to do? Explain the subject behind it not the coding thing.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Two floating point numbers constructed different ways often do not exactly equal each other. You should be testing for being "close" rather than being "equal".
If you have R2015a or later you should consider using imembertol()
You also have the problem that
if Stress_Strain_2(:,2) == count
means the same thing as
if all(Stress_Strain_2(:,2) == count)
which is to say that all of the items in the column would have to be the same value, all exactly equal to what is in "count". This is unlikely to be what you wanted. You did not describe your desired match condition, so I cannot repair the code. Possibly you want
if any(Stress_Strain_2(:,2) == count)
except with correction for tolerances. Perhaps
if ismembertol(count, Stress_Strain_2(:,1))
Kevin Hout
Kevin Hout am 7 Mär. 2016

0 Stimmen

Thanks, Walter.
I was trying to take a value in the Stress column (at Strains equal to 0.001, 0.002, 0.003, etc) and populate it into a new table. I am trying to use an if statement, but it is not working.

Kategorien

Mehr zu Stress and Strain finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 7 Mär. 2016

Beantwortet:

am 7 Mär. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by