/ / прескачане на няколко реда и започнете да четете само числа [дубликат] - matlab

прескачане на няколко реда и започнете да четете само числа [дубликат] - matlab

нека предположим, че имаме следната таблица

% El-Centro earthquake signal:
% North-south component recorded at Imperial Valley Irrigation District
% substation in El Centro, California, during the Imperial Valley,
% California earthquake of May, 18, 1940. The magnitude is 7.1. and the maximum ground acceleration is 0.3495g
%
%   Time (sec)      Acceleration (g)
0.0000000e+00   1.1000000e-03
2.0000000e-02   1.1000000e-03
4.0000000e-02   1.3000000e-03
6.0000000e-02   1.4000000e-03
8.0000000e-02   1.3000000e-03
1.0000000e-01   1.2000000e-03

това е само фрагмент, бих искал да създам двуизмерна таблица, една за време и второ за ускорение, на първо място трябва да пропуснем текстови линии, опитах се след команда

M = dlmread("ELCENTRO.txt", " ", 6, 0);

това означава, че съм пропуснал 6 ред, но след като имам матрица с размер на

size(M)

ans =

2829           7

въз основа на резултата съм направил друга команда

M = dlmread("ELCENTRO.txt", " ", 6, 3);

и сега измерението на М се промени

size(M)

ans =

2829           4

сега мога да направя следното нещо

 M(:,2:3)=[];

сега М съдържа две колони, един за време и второ за сигнал, но как мога да направя това с помощта на командата dlmread? Благодаря предварително

Отговори:

2 за отговор № 1

dmlread е доста стара функция с няколко камбани и свирки. Изглежда, че няма да работи за файла ви, тъй като имате 2-знаков разделител (т.е. два интервала между числата).

Но дори и да се получи, ще бъде по-добре да използвате таблици за този вид данни.

tbl = readtable("ELCENTRO.txt","HeaderLines",6,"ReadVariableNames",false,"Format","%f  %f")

След това искате да промените имената на колоните,

tbl.Properties.VariableNames = {"Time","Acceleration"}

В много случаи имената могат да бъдат прочетени от файла, но форматът на файла ви изключва това.

Ако не използвате отново таблиците, вижте следното като начална точка за това как да ги манипулирате,

docsearch("Access Data in a Table")

По-специално, ако наистина наистина искате данните като матрица,

M = tbl{:,:}