How do I designate some variables in the same time that are starting with specific characters?
조회 수: 2 (최근 30일)
이전 댓글 표시
Hello,
It's a quite simple question.
For example, I have variables named n1, n2, and n3. They have similar names starting with n.
And, those are all cell structure.
I want to exchange this variables into double using cell2mat function.
I want to designate those in the same time and change into double.
I tried
n*=cell2mat(n*)
but, It didn't work.
How can I change this?
Sorry for my bad English. If you have any question regarding this, feel free to ask.
Thanks,
Hyojae.
댓글 수: 1
Stephen23
2023년 3월 13일
편집: Stephen23
2023년 3월 13일
"For example, I have variables named n1, n2, and n3. They have similar names starting with n."
Numbering variable names like that is usually a bad data design...
because accessing numbered variable names (like you have) is slow, complex, and inefficient:
You should use indexing. Indexing is simple (just as Matthieu showed below) and very efficient.
채택된 답변
Matthieu
2023년 3월 3일
Hi,
n = cell(1,3) ; % Replacing your n1, n2, n3 notation with n{1}, n{2}, n{3}
for i = 1:3
n{i} = {1,2,3} ; % Define n{i} cells as you want
end
for j = 1:3
n{j} = cell2mat(n{j}) ; % Converting cells to double
end
n
Is this what you wanted ?
댓글 수: 2
Peter Perkins
2023년 3월 13일
If n1, n2, and n3 end up being column vectors all with the same length, you might find it useful to put them into a table rather than a cell array. For example, something like
n1 = {1;2;3}; n2 = {4;5;6}; n3 = {7;8;9};
t = table(n1,n2,n3)
t.n1
t = varfun(@cell2mat,t)
t.cell2mat_n1
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Acoustics, Noise and Vibration에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!