Info

This question is closed. Reopen it to edit or answer.

Data Arrangment in a matrix

1 view (last 30 days)
Dinouk Goonewardena
Dinouk Goonewardena on 9 Apr 2020
Closed: MATLAB Answer Bot on 20 Aug 2021
I want to insert NaN between (X Y BetaTol ) and the next (X Y BetaTol ) and so on, so it seperates with an NaN column, the code I have is below which does not respshape it properly
S={'X' 'Y' 'beta Tol'};
T= repmat(S,1,7); % to repeat character 7 times
T=reshape([T, nan(size(T,1),2,size(T,3))], 1, {}); % trying to insert NaN in between the characters

Answers (1)

Vinai Datta Thatiparthi
Vinai Datta Thatiparthi on 16 Apr 2020
Hello Dinouk,
Well, firstly, you're using cell arrays in your code, but you mention matrix in the title. Since you're working with characters, I would continue to use cell arrays.
Your description of the problem is a little hazy, but if you want to insert NaN values in between the sequence, you could simply use a for loop and indexing to get the output -
for i=4:4:28 % This loop work for this specific case, generalize it for other cases
T = {T{1:i-1}, 'NaN', T{i:end}}; % Use indexing to add NaN value in every fourth index
end
This is a simpler approach of the many others to the problem that you have described. The output would be a [1x28] cell array.
Hope this helps!

Products

Community Treasure Hunt

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

Start Hunting!