Data contains 2 columns (plan and T). However, plan contains some NaN. I would like to delete the NaN from plan and also its corresponding values in T so that the good data from columns plan and T will be of the same dimension

 採用された回答

Guillaume
Guillaume 2015 年 7 月 15 日

0 投票

Assuming data is an m x 2 matrix, it's simply:
Data(isnan(Data(:, 1)), :) = []
That is, find the nan in the first column of Data ( isnan(Data(:, 1))), and removes all the rows for which isnan is true ( Data(trueorfalse, :) = [])

4 件のコメント

AbelM Kusemererwa
AbelM Kusemererwa 2015 年 7 月 15 日
I save them as data for easy uploading. However, plan and T are separate in the workspace
Guillaume
Guillaume 2015 年 7 月 15 日
編集済み: Guillaume 2015 年 7 月 15 日
Well, it's still the same idea. Use the logical array returned by isnan to indicate which elements you want to remove in any of your variables:
todelete = isnan(plan); %find the nans
plan(todelete) = []; %remove them from plan
T(todelete) = []; %and remove them from T
AbelM Kusemererwa
AbelM Kusemererwa 2015 年 7 月 15 日
編集済み: AbelM Kusemererwa 2015 年 7 月 15 日
Please, after deleting I would want to give them different names. How do I store them separately after deleting?
Guillaume
Guillaume 2015 年 7 月 15 日
Then you don't delete, you only copy the data you want to keep (everything that is not nan)
tokeep = ~isnan(plan); %use ~ for logical not
newplan = plan(tokeep);
newT = T(tokeep);

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by