String 转换为正整数或负整数

String 转换为正整数或负整数,string,matlab,String,Matlab,在MATLAB中,我在文件名a.txt中有一个1 X 20列的字符串数据向量 %Input in A.txt: 60N 61N 50S 51S 目标:将数据列读取为整数并表示N 正反两面 因此,输出将是: 60 61 -50 -51 我已经研究了其他帖子,应用str2num double。我完全被卡住了。假设您的数据是按示例中的方式组成的,您可以尝试以下方法: [nums, directions] = textread('test.txt', '%d%s'); %# Read data

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

%Input in A.txt:
60N
61N
50S
51S
目标:将数据列读取为整数并表示N

正反两面

因此,输出将是:

 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

你所有的字符串都有3个字符的长度吗?