필터 지우기
필터 지우기

Combining matrices of different sizes

조회 수: 1 (최근 30일)
aero123
aero123 2020년 10월 10일
댓글: Ameer Hamza 2020년 10월 11일
Hello I'm trying to combine multiple matrices of different sizes which are extracted from each .csv files.
Sat_total = NaN(1440 , 3*30);
sat = readtable('Place-MyHome-Sensor-Myphone-To-Satellite-PRN_32_41328 AER.csv');
[Sat_temp] = sat_tot(sat);
Sat_total(1:length(Sat_temp(:,1)), 1:3) = Sat_temp;
sat = readtable('Place-MyHome-Sensor-Myphone-To-Satellite-PRN_31_29486 AER.csv');
[Sat_temp] = sat_tot(sat);
Sat_total(1:length(Sat_temp(:,1)), 4:6) = Sat_temp;
sat = readtable('Place-MyHome-Sensor-Myphone-To-Satellite-PRN_30_39533 AER.csv');
[Sat_temp] = sat_tot(sat);
Sat_total(1:length(Sat_temp(:,1)), 7:9) = Sat_temp;
sat = readtable('Place-MyHome-Sensor-Myphone-To-Satellite-PRN_29_32384 AER.csv');
[Sat_temp] = sat_tot(sat);
Sat_total(1:length(Sat_temp(:,1)), 10:12) = Sat_temp;
...
( I used [Sat_temp] = sat_tot(sat) to modify tables been extraced to matrices)
As you can see, i'm trying to combine n*3(n differs for each of them) matrices in row.
Please let me know if there are any better solutions, not by typing them manually.
Thank you in advance.

채택된 답변

Ameer Hamza
Ameer Hamza 2020년 10월 10일
I would do something like this
% list all file names. You may use dir() function to get them automatically
filenames = {'Place-MyHome-Sensor-Myphone-To-Satellite-PRN_32_41328 AER.csv', 'Place-MyHome-Sensor-Myphone-To-Satellite-PRN_31_29486 AER.csv', ...
Sat_total = cell(1, numel(filenames))
for i = 1:numel(filenames)
sat = readtable(filenames{i});
Sat_total{i} = sat_tot(sat);
end
Sat_total = [Sat_total{:}];
  댓글 수: 4
aero123
aero123 2020년 10월 11일
I have solved it :) Thank you very much
Ameer Hamza
Ameer Hamza 2020년 10월 11일
I am glad to be of help!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by