Remove the 1x1 Cell Array from the Cell Array

9 次查看(过去 30 天)
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 个评论
Jan
Jan 2022-9-27
Why do you consider this as a "problem". It is exactly, what the code instructs Matlab to do. What do you want instead?
Ahmed Radhi
Ahmed Radhi 2022-9-27
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}?

请先登录,再进行评论。

采纳的回答

Jan
Jan 2022-9-27
编辑:Jan 2022-9-27
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 个评论
Ahmed Radhi
Ahmed Radhi 2022-9-27
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by