【问题标题】:Conversion to Integer with Positive or Negative转换为正数或负数的整数
【发布时间】:2012-08-19 17:54:52
【问题描述】:

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

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

目的:以整数形式读取该列数据并表示N

为正,S为负。

所以输出将是:

 60
 61
-50
-51

我研究过其他帖子,申请 str2num double。我完全被困住了。

【问题讨论】:

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

标签: string matlab


【解决方案1】:

假设您的数据是按照您的示例组成的,您可以试试这个:

[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

【讨论】:

    猜你喜欢
    • 2011-12-13
    • 2014-11-13
    • 2014-03-20
    • 2022-01-06
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多