for loop saving a vector, not a value

1 view (last 30 days)
if i had
x = -10:0.1:10;
f1 = trapmf(x,[-2 0 0 2]);
how do i save the (x, f1) values of each iterations using the for loop?
I'm thinking it starts with something like
i = 1:length(x)
a = x(i);
b = f1(i);
but this will only give me a & b to be 1 value not a vector of length(x)

Accepted Answer

Image Analyst
Image Analyst on 13 Jun 2015
How about
for i = 1:length(x)
a(i) = x(i);
b(i) = f1(i);
if you wanted/needed to assign a and b via a "for" loop?
Image Analyst
Image Analyst on 13 Jun 2015
I don't see why you say "x and f1 are already the same thing" but I don't have the fuzzy toolbox so I can't actually run trapmf().
To divide into two parts
[maxValue, indexAtMax] = max(b);
leftOfPeak = b(1 : indexAtMax-1);
rightOfPeak = b(indexAtMax+1 : end);
Note that the peak itself is not included in either of those arrays because you did not specify that it should be.

Sign in to comment.

More Answers (0)


Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!