转换为积极或否定的整数

时间:2012-08-19 17:54:53

标签: string matlab

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

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

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

为正,S为负。

所以输出结果为:

 60
 61
-50
-51

我已经研究过其他帖子,请使用str2num double。我完全陷入了困境。

1 个答案:

答案 0 :(得分:6)

假设您的数据就像您的示例一样,您可以尝试这样做:

[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