Zaloguj się
Blog na Matlab.pl
MATLAB & Simulink, seminaria, projekty, przykłady Witamy na stronach Matlab.pl!!!
Możesz tu znaleźć wiele inforamcji na temat
najpopularniejszego na świecie pakietu oprogramowania
do obliczeń naukowych i inżynierskich.
 
UŻYTKOWNICY GRUPY PROFIL Zaloguj się, by sprawdzić wiadomości FAQ
 



Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Problem z importem tabelki Idź do strony 1 2  Następny
Forum MATLAB Strona Główna-> MATLAB
Post Wysłany: 29 Lipca 2010, Czw 10:30 am Temat postu: Problem z importem tabelki Odpowiedz z cytatem
 
AUTOR:
jakubmik
Początki pisania


Dołączył: 08 Cze 2010
Posty: 11


Ogląda profil użytkownika Wyślij prywatną wiadomość
Jak zrobić coś takiego zeby matlab importował pliki od xx000.dat do xxx999.dat i zapisywał z nich po jednej wartości z danej kolumny i wiersza do jednego pliku .txt

Dziękuje za pomoc


 

Post Wysłany: 29 Lipca 2010, Czw 10:47 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
darekc
Może pisać książki


Dołączył: 19 Lis 2007
Posty: 364
Skąd: P.Śl. Gliwice


Ogląda profil użytkownika Wyślij prywatną wiadomość
Na razie rozwiązanie problemu wczytania danych z wielu plików:
Kod:
for num = 1:1000
  fname
= sprintf('xxx%03d.dat', num);
 
data = importdata(fname);
  ...
end

Jaka jest zawartość plików? Jak wybierasz daną do zapisu w pliku .txt?


 

Post Wysłany: 29 Lipca 2010, Czw 11:31 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
jakubmik
Początki pisania


Dołączył: 08 Cze 2010
Posty: 11


Ogląda profil użytkownika Wyślij prywatną wiadomość
to sa tabele mniej wiecej 15x5000, a chciałbym do pliku zapisywac wartosc z komorki w wierszu 2618 w kolumnie 11.


Hm. nie działa.. rozumiem, ze powinienem zmienic jedynie xxx na nazwe pliku a "%03d.dat" zostawic na koncu tak jak jest? wyskakuje mi wtedy

??? Error using ==> importdata
Unable to open file.

Error in ==> Untitled1 at 3
data = importdata(fname);


 

Post Wysłany: 29 Lipca 2010, Czw 11:45 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
darekc
Może pisać książki


Dołączył: 19 Lis 2007
Posty: 364
Skąd: P.Śl. Gliwice


Ogląda profil użytkownika Wyślij prywatną wiadomość
Proponuję takie rozwiązanie:
Kod:
A = zeros(1000, 1);
for
num = 1:1000
  fname
= sprintf('xxx%03d.dat', num);
 
data = importdata(fname);
 
A(num) = data(2618, 11);
end
save nazwa_pliku_docelowego
.txt A -ascii

Czy mógłbyś zamieścić na forum jeden z plików .dat? Może udałoby się zaproponować takie rozwiązanie, w którym nie trzeba wczytywać wszystkich danych z pliku.

Tak, w sprintf za xxx masz podstawić odpowiedni fragment nazwy pliku, a %03d.dat pozostawić bez zmiany.


 

Post Wysłany: 29 Lipca 2010, Czw 11:57 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
jakubmik
Początki pisania


Dołączył: 08 Cze 2010
Posty: 11


Ogląda profil użytkownika Wyślij prywatną wiadomość
niestety, nie da rady, pliki .dat sa niedozwolone do załączenia


 

Post Wysłany: 29 Lipca 2010, Czw 12:05 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
darekc
Może pisać książki


Dołączył: 19 Lis 2007
Posty: 364
Skąd: P.Śl. Gliwice


Ogląda profil użytkownika Wyślij prywatną wiadomość
Czy dane są w nich zapisane w postaci tekstowej czy binarnej?


 

Post Wysłany: 29 Lipca 2010, Czw 12:11 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
jakubmik
Początki pisania


Dołączył: 08 Cze 2010
Posty: 11


Ogląda profil użytkownika Wyślij prywatną wiadomość
tesktowej

tym razem tez blad..
??? Index exceeds matrix dimensions.

Error in ==> Untitled1 at 6
A(num) = data(2618, 11);

podejrzewam, ze to cos z tym importdata nie dziala w porzadku, moze rzeczywiscie jakby udalo się to importowanie ominąć to wszytsko by działało


 

Post Wysłany: 29 Lipca 2010, Czw 12:19 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
darekc
Może pisać książki


Dołączył: 19 Lis 2007
Posty: 364
Skąd: P.Śl. Gliwice


Ogląda profil użytkownika Wyślij prywatną wiadomość
To proszę zamieść chociaż parę wierszy takiego pliku. Czy we wszystkich plikach dane są zapisane w taki sam sposób?


 

Post Wysłany: 29 Lipca 2010, Czw 12:30 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
jakubmik
Początki pisania


Dołączył: 08 Cze 2010
Posty: 11


Ogląda profil użytkownika Wyślij prywatną wiadomość
to może tak.. treść pliku .dat w .m (tylko że wierszy z danymi jest duużo więcej)


 

Post Wysłany: 29 Lipca 2010, Czw 1:00 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
darekc
Może pisać książki


Dołączył: 19 Lis 2007
Posty: 364
Skąd: P.Śl. Gliwice


Ogląda profil użytkownika Wyślij prywatną wiadomość
Wypróbuj to dla zaimportowania pliku i ,,wyciągnięcia" odpowiedniej danej:
Kod:
T = textread(fname, '%s', 'delimiter', '\n');
line = char(T{2621});      % 2621 = 2618 + 3 (wiersze na początku, które pomijam)
data = str2num(line);
A(num) = data(11);


 

Post Wysłany: 29 Lipca 2010, Czw 1:16 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
jakubmik
Początki pisania


Dołączył: 08 Cze 2010
Posty: 11


Ogląda profil użytkownika Wyślij prywatną wiadomość
a num i fname jak poprzednio?
czyli
for num = 1:1000
fname = sprintf('K1 200 .27341ae0.000%03d.dat', num);
T = textread(fname, '%s', 'delimiter', '\n');
line = char(T{2621}); % 2621 = 2618 + 3 (wiersze na początku, które pomijam)
data = str2num(line);
A(num) = data(11);
end


a moze można jakos otwierac te dat'y jako txt i z nich wybierac ta wartość? omijając w ten sposob importowanie?


 

Post Wysłany: 29 Lipca 2010, Czw 1:20 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
jakubmik
Początki pisania


Dołączył: 08 Cze 2010
Posty: 11


Ogląda profil użytkownika Wyślij prywatną wiadomość
no nie wiem, znow mi nie działa:
??? Error using ==> textread
File not found.

Error in ==> Untitled1 at 4
T = textread(fname, '%s', 'delimiter', '\n');


 

Post Wysłany: 29 Lipca 2010, Czw 1:24 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
darekc
Może pisać książki


Dołączył: 19 Lis 2007
Posty: 364
Skąd: P.Śl. Gliwice


Ogląda profil użytkownika Wyślij prywatną wiadomość
Tak jak napisałeś.

Gdyby wszystkie wiersze w pliku miały taką samą długość, to można byłoby się obejść bez wczytywania całego pliku.

Przypuszczam, że w fname powinna wystąpić tylko jedna kropka, ta przed rozszerzeniem.


 

Post Wysłany: 29 Lipca 2010, Czw 1:29 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
jakubmik
Początki pisania


Dołączył: 08 Cze 2010
Posty: 11


Ogląda profil użytkownika Wyślij prywatną wiadomość
hm, a znasz jakisz szybki sposob na zmiane nazwy wielu plików? bo te kropki domyslnie wstawial mi inny program i nie ma jak tego ominac, a tych plikow mam pare tysiecy, wiec reczna zmiana nie wchodzi w gre


 

Post Wysłany: 29 Lipca 2010, Czw 1:43 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
darekc
Może pisać książki


Dołączył: 19 Lis 2007
Posty: 364
Skąd: P.Śl. Gliwice


Ogląda profil użytkownika Wyślij prywatną wiadomość
Moje przypuszczenie okazało się niesłuszne. Wyświetl zawartość zmiennej fname i sprawdź, czy masz plik o takiej nazwie.


 

Forum MATLAB Strona Główna-> MATLAB
Wyświetl posty z ostatnich:   
Idź do strony 1 2  Następny

Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Wszystkie czasy w strefie CET (Europa)

Skocz do:  

Statystyki forum:



Od dnia 08.06.2006 forum odwiedzano 3958195
Najwięcej użytkowników 90 było obecnych 29 Maj 2010, Sob 7:37 pm

Aktualnie online:




Najnowsze posty na forum:
Zbiór błędów  (3 Września 2010, Pią 1:36 pm)
blok żyrokompasu idealnego  (3 Września 2010, Pią 12:45 pm)
Maxima lokalne  (2 Września 2010, Czw 10:52 pm)
identyfikacja dynamiczna  (2 Września 2010, Czw 9:40 pm)
otwieranie *.wav Error using ==> load  (1 Września 2010, Sro 3:52 pm)
POMOCY !!!!! PROBLEM z Funkcją NEWPNN sieci neuronowej.  (31 Sierpnia 2010, Wto 8:25 pm)
Problem z zapisaniem danych w GUID  (31 Sierpnia 2010, Wto 5:41 pm)
Zapisanie Demosa jako nowy projekt ?  (31 Sierpnia 2010, Wto 2:07 pm)
charakterystyka rezonansowa ukł. wibrującego  (31 Sierpnia 2010, Wto 12:06 pm)
Curve fitting na wykresie zapisanym w .bmp  (31 Sierpnia 2010, Wto 12:01 pm)
Twoje prawa:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać plików na tym forum