String 转换为正整数或负整数
在MATLAB中,我在文件名a.txt中有一个1 X 20列的字符串数据向量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
%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个字符的长度吗?