У меня есть матрица, которая выглядит примерно так (10 x 8), и мне нужно изменить форму на «переменную длину строки», но те же # столбцы, как показано ниже: текущая матрица:Обрезка MATLAB Array Keeping Columns
NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN 1.0000 NaN NaN NaN
NaN NaN NaN NaN 0.9856 NaN NaN NaN
NaN NaN NaN 1.0000 0.9960 NaN NaN NaN
NaN 1.0000 NaN 1.2324 0.9517 NaN NaN NaN
NaN 1.0721 NaN 1.1523 0.8877 NaN NaN 1.0000
NaN 1.0617 1.0000 0.9677 1.0006 NaN NaN 1.3116
1.0000 0.9944 0.9958 1.0712 1.0369 1.0000 1.0000 1.2027
0.9717 0.9995 0.9705 1.0691 0.8943 0.9724 0.8863 1.2083
1.0168 0.9908 0.9406 1.0460 0.8647 0.9483 0.9064 1.2035
, и мне нужно, чтобы он был обрезан, чтобы я мог нарисовать неровные столбцы, начинающиеся с общей точки, которая == 1.0000. Окончательный массив выглядит это так, что каждый новый столбец начинается с 1.0000 и имеет значение после каждого 1,0000 непосредственно ниже в колонках:
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
0.9717 1.0721 0.9958 1.2324 0.9856 0.9724 0.8863 1.3116
1.0168 1.0617 0.9705 1.1523 0.9960 0.9483 0.9064 1.2027
0.9944 0.9406 0.9677 0.9517 1.2083
0.9995 1.0712 0.8877 1.2035
0.9908 1.0691 1.0006
1.0460 1.0369
0.8943
0.8647
Большинство функций рисования в MATLAB игнорируемых 'NaN', так что ваши матрица может работать как есть ... Как вы пытаетесь построить ее? –
Да, NaN игнорируется на базовом графике, но построенные значения (cols) начинаются с оси x на основе того, где они расположены в пространстве строк и столбцов в исходной матрице. Мне нужно, чтобы все графики начинались с оси x в x == 1, и у меня есть много других матриц для построения так, чтобы я искал решение, применимое обычно к другим матрицам, таким как исходная матрица, показанная здесь. thanks- – user2100039