trying to obtain data from a txt file but one column has negative values and ignores the - sign and leaves it as +

3 visualizzazioni (ultimi 30 giorni)
str = fileread('Wello.txt');
nums = cellfun(@str2double, regexp(str, '([\d.,]+)', 'match'));
DATA = reshape(nums, 3, [])';
this is the code above.
txt file is like this::
H G J
245 54 -45
output after code:
245 54 45

Risposta accettata

Ameer Hamza
Ameer Hamza il 30 Set 2020
Modificato: Ameer Hamza il 30 Set 2020
Why use regular expression here. Just use readmatrix()
M = readmatrix('data.txt');
Result
>> M
M =
245 54 -45
For the regular expression in your question, you missed the minus (-) sign
str = fileread('data.txt');
nums = cellfun(@str2double, regexp(str, '(-?[\d.,]+)', 'match'));
  3 Commenti

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by