Remove the 1x1 Cell Array from the Cell Array

5 views (last 30 days)
Hey everyone,
I have the following code:
s{1} = [4 2];
s{2} = [2 1];
S{1} = [s{1}];
m = 1;
m = 1
for j = 1:m
Temp_D{j} = S{j} - s{j+1};
end
Temp_D = cell2sym(Temp_D);
D{1} = Temp_D;
D{1}
ans = 
However, when I use this chunk of code as a function in my code, I get the following result :
Why do I need to do D{1}{1} To access the the array [2, 1], can I solve this problem?
  2 Comments
Ahmed Radhi
Ahmed Radhi on 27 Sep 2022
Because I want the output to be D{1} = [2, 1], instead.
In this way, let’s assume I added one more array to D, such that D{2} = [1, 2, 0], how can I access it? Is it by D{2}{1}?

Sign in to comment.

Accepted Answer

Jan
Jan on 27 Sep 2022
Edited: Jan on 27 Sep 2022
If you want D{1} = [2, 1], use:
D{1} = [2, 1]
D = 1×1 cell array
{[2 1]}
% or equivalently
D = {[2, 1]}
D = 1×1 cell array
{[2 1]}
Expanded:
D = {[2,1], [1,2,0]}
D = 1×2 cell array
{[2 1]} {[1 2 0]}
D{1}
ans = 1×2
2 1
D{2}
ans = 1×3
1 2 0
Maybe in your case:
D = Temp_D;
% not D{1} = ...
What is the purpose of cell2sym?
  3 Comments
Ahmed Radhi
Ahmed Radhi on 27 Sep 2022
I used the cell2sym to put all the arrays in Temp_D in one array, and then I can put it as a single array in the first cell of D. So yes I want a symbolic array.

Sign in to comment.

More Answers (0)

Categories

Find more on Resizing and Reshaping Matrices 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!