Как создать матрицу в Matlab с помощью переменных? - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть четыре переменные, которые я создал, используя данные NetCDF, а именно высоту, широту, длину и дату.Теперь я хочу создать одну матрицу с этими переменными в виде столбца, тогда я должен был пренебречь значениями, содержащими данные «NAN».

Я сделал это отдельно, но я хочу в одной матрице.Я должен запустить этот процесс для нескольких файлов.

for i = 1:length(theFiles)% Loop for each nc-file
    %Select Single cycle
    FileName = theFiles(i).name; 

    FullPathName=fullfile(folder_name, FileName); %reading file one by one
    disp(['File selected:', FullPathName])


    [Height,time,Lat,Long]=read_netcdf(FullPathName);  % Read the selected nc file 
     lattiude=Lat;
     longitude=Long;

     B = [Height,time,Lat,Long];   
    end 

Еще одна вещь, всего нет.с данными 579X1 все переменные, но когда я удаляю значение Nan из высоты, его размерность уменьшается до 45X1. Теперь я пытаюсь уменьшить размеры всех переменных относительно высоты.

Теперь у меня есть матрицахотел, чтобы удалить все строки, содержащие Нан Значение

* +1009 *

NaN +736536,710457717 28,3771283105297 69,6958150783291 NaN +736536,710457858 +28,3778490697636 +69,6956231314990
75 +736536,710458284 28,3800119048871 69,6950471308031 75 736536,710458426 +28,3807327583405 +69,6948551510433 NaN +736536,710458000 +28,3785699096006 +69,6954311612445 NaN 736536,710458142 28,3792909110158 69,6952391459993

1 Ответ

0 голосов
/ 21 февраля 2019

Не уверен, что это то, о чем вы спрашиваете, но вы можете увеличить размер массивов следующим образом:

for i = 1:n
   B = [B; newValue];
end
...