create empty row inside a vector

7 次查看(过去 30 天)
Hi. I need to analyze the rows of the vector 'value_GS_test' and transform only the numbers 254 and 255 (if any) into '[]' while keeping the same number of rows as in the original vector. Here is an example:
Right now I am using this code, but it only deletes one row (at 255) for me. How can I get the desired result?
value_GS = importdata("value_GS_test.mat"); % 6 elements
for rows_value_GS = 1 %:height(value_GS)
analysis_number = value_GS(rows_value_GS);
if analysis_number == 255
value_GS(rows_value_GS) = [];
elseif analysis_number == 254
value_GS(rows_value_GS) = [];
else
value_GS(rows_value_GS) = value_GS(rows_value_GS);
end
end
  5 个评论
Simon Chan
Simon Chan 2023-7-18
What is the final purpose of making a bracket to those positions? For display only? Or you will write it as blank on a text file?

请先登录,再进行评论。

采纳的回答

Chunru
Chunru 2023-7-18
load(websave("value_GS_test.mat", "https://www.mathworks.com/matlabcentral/answers/uploaded_files/1436593/value_GS_test.mat"));
value_GS = double(value_GS)
value_GS = 6×1
255 255 255 68 70 72
value_GS(value_GS>=254) = nan;
value_GS
value_GS = 6×1
NaN NaN NaN 68 70 72
  7 个评论
Dyuman Joshi
Dyuman Joshi 2023-7-18
Yes, it is.
Refer to @Walter Roberson's comment above - "Note however that uint8 cannot represent NaN or inf".
When you try to assign NaN (or Inf for that matter) to a uint8 (or any integer data type) array, it will display 0 instead of NaN
%Signed integer data type example -
y = int16(1:4)
y = 1×4
1 2 3 4
%Assinging 2nd element of the vector to be NaN
y(2) = NaN
y = 1×4
1 0 3 4
%Unsigned integer data type example -
%Initializing NaN with an unsigned integer leads to 0 as well
z = uint8([1 23 NaN 19 5])
z = 1×5
1 23 0 19 5
Alberto Acri
Alberto Acri 2023-7-18
Okay. Thanks for the explanation @Dyuman Joshi. I am unfamiliar with Matlab.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by