1x2 Cell with each ?field? containing 2 values

I have a Cell called "a" which is 2x1.
so from "a" to "a{1,1}" and "a{1,2}"
Each ?field? correct me pls if this is not the right term. contains 2 values.
How can i extract the first value of both fields? If i try t = a(1,1) it gives me both values but i jsut want the first one.

Answers (1)

You have 'a' like this
a = {[1 2], [3 4]};
To access first elemets, you need to use indexing like this
a{1,1}(1)
a{1,2}(1)
If you want to extract all the first elements, then you will need to use a loop
v = zeros(size(a));
for i = 1:numel(a)
v(i) = a{1,i}(1);
end
The above for-loop can be simplified using cellfun()
v = cellfun(@(x) x(1), a);

4 Comments

Yes thats how my a looks and how i try to get the variable but it doesnt work in my loop. I did a seperate array just to test it when i put the numbers in manually and that works.
a = {[1 2], [3 4]};
a{1,1}(1) ---> gets me 1
a{1,2}(1) ---> gets me 3
If i exchange it with my index for the loop it just stores the last value.
i=2
for 1:i
a = {[1 2], [3 4]};
a{1,i}(1)
end
---> only 4, as i want to plot a bar graph it results in just one bar and not two
Can you show the actual code for your for-loop. Following shows an example of how to use it in for-loop
a = {[1 2], [3 4]};
v = zeros(size(a));
for i = 1:numel(a)
v(i) = a{1,i}(1);
end
disp(v)
okay. it is a bit weird bc now it worked with my example, but not with my bar plot. it just plots me p{1,2}(1). p and xxx are basically the same with different values, so i dont understand why it doesnt work (Inside my loop i fit a curve to a set of data which is my p)
for i = 1:number (number being 2)
p{i} = polyfit(x_relevant{i}, y_relevant{i},1)
subplot(4,1,4)
b(i) = bar(p{1,i}(1),'FaceColor',c{i})
hold on
xxx = {[1 2], [3 4]}
x222(i) = xxx{1,i}(1)
end
Can you attach your actual code with all the relevant variables?

Sign in to comment.

Categories

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

Products

Release

R2019b

Asked:

on 27 Nov 2020

Commented:

on 29 Nov 2020

Community Treasure Hunt

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

Start Hunting!