在 MATLAB 中,我在文件名 A.txt 中有一个字符串数据的 1 X 20 列向量。

%Input in A.txt:
60N
61N
50S
51S

目标:将数据列读取为整数并表示N

为正,S 为负。

所以输出将是:
 60
 61
-50
-51

我研究了其他帖子,应用 str2num double。我完全被困住了。

最佳答案

假设您的数据像您的示例一样组成,您可以尝试以下操作:

[nums, directions] = textread('test.txt', '%d%s'); %# Read data from file
signs = ones(size(directions));                    %# Assume signs are positive
signs(strcmp(directions, 'S')) = -1;               %# Replace 'S' with negatives
result = nums(:) .* signs(:)                       %# Calculate result

关于string - 用正数或负数转换为整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12028656/

10-12 16:53