Zaloguj się
Blog na Matlab.pl
Forum polskich użytkowników
 
UŻYTKOWNICY GRUPY PROFIL Zaloguj się, by sprawdzić wiadomości FAQ
 



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

Odczyt danych + wykres
Forum MATLAB Strona Główna-> MATLAB
Post Wysłany: 21 Października 2016, Pią 8:43 pm Temat postu: Odczyt danych + wykres Odpowiedz z cytatem
 
AUTOR:
Skipper11
Początki pisania


Dołączył: 17 Paź 2016
Posty: 7


Ogląda profil użytkownika Wyślij prywatną wiadomość
Witam,
Mam następujące zadanie:
"Znormalizować sygnał przygotowany przez prowadzącego, aby jego
wartości znajdowały się w przedziale <-1, 1>, wyświetlić sygnał przed i
po jego modyfikacji i zapisać z powrotem do pliku (innego, aby nie
nadpisywać zawartości oryginalnego pliku). Plik z zarejestrowanym
sygnałem znajduje się na stronie kursu, a proces normalizacji powinien
być zapisany jako funkcja. Przydatne będą polecenia load i save (przy
zapisie do pliku konieczne będzie użycie parametru ‘-ascii’, aby dane
były zapisane w formie możliwej do odczytania przez człowieka)."
I na razie chce wczytać tylko poprzednie wartości i na ich podstawie zrobić wykres, ale nic mi się nie pojawia-białe pole. A wygląda to tak:
Kod:
A=load('signal.dat');
dlugosc=length(A);
x=0:0.1:0*1*dlugosc-(0*1*dlugosc);
plot(x,A);

Ma ktoś może pomysł co robię źle?
Mam wrażenie, że te wartości źle podaje.


 

Post Wysłany: 23 Października 2016, Nie 10:20 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
kasztel
Może pisać książki


Dołączył: 10 Maj 2007
Posty: 1047
Skąd: Uniwersytet Warszawski


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Co twoim zdaniem ma robić linijka kodu:
x=0:0.1:0*1*dlugosc-(0*1*dlugosc);
zamień ją na x=1:dlugosc
to przy najmniej powinno się coś wyświetlić

RaK


 

Post Wysłany: 24 Października 2016, Pon 6:02 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Skipper11
Początki pisania


Dołączył: 17 Paź 2016
Posty: 7


Ogląda profil użytkownika Wyślij prywatną wiadomość
Po prosu w moim zamyśle miało to próbkować co 0.1,w sumie jak patrzę to tam zamiast "*" miało być ".". No i chyba za mały okres próbkowania.
Okej, tak jak mówisz działa.
Tylko już teraz wyświetla mi wartości z zakresu <-1;1>, więc trochę nie wiem po co normalizować. Wygląda to tak o:
http://wstaw.org/w/4c3G/
Aha, żeby jednak wykonać proces normalizacji to muszę sobie utworzyć, dwie nowe macierze, tak?
I jedną potraktować jako wektor wartości średnich, powiedzmy:
Kod:
wartosc_srednia=(1/dlugosc)*(sum(A));

No i teraz znormalizowaną wartość obliczyć jako różnicę pomiędzy początkowymi wartościami, a wartością średnią:
Kod:

normalizacja
(dlugosc)=0;
for
i=0:dlugosc
    normalizacja
(i)=A(i)-wartosc_srednia(i);
end
    

Czy zupełnie źle myślę? ;x


 

Post Wysłany: 27 Grudnia 2016, Wto 8:46 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Skipper11
Początki pisania


Dołączył: 17 Paź 2016
Posty: 7


Ogląda profil użytkownika Wyślij prywatną wiadomość
Odkopuje przed sesją.
Tamto chyba podejście było bez sensu.
Czy mogę do tego użyć funkcji axis?
Kod:
file=load('sygnal.dat');
dlugosc=length(file);
[
m,n] = size(file);
plot(file);
axis([0, dlugosc, -1, 1]);

No i mi rysuje to w tym zakresie, ale dość słabo wygląda tak o:
[img]https://zapodaj.net/ab60a00bc7c9d.jpg.html[/img]
Ja wiem, że to tylko zmienia osie, ale na przykładzie, na którym udało mi się wzorować to jednak wyszło okej.
A to robione na podstawie tego:
https://www.mathworks.com/help/matlab/creating_plots/change-axis-limits-of-graph.html


 

Forum MATLAB Strona Główna-> MATLAB
Wyświetl posty z ostatnich:   

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 36715528
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
Przetwarzanie strumienia ASCII odebranego protokołem UDP  (24 Czerwca 2017, Sob 5:55 pm)
zamiennik funkcji smooth  (23 Czerwca 2017, Pią 1:30 pm)
Warto robić szkolenia?  (22 Czerwca 2017, Czw 8:40 am)
Rysowanie sygnałów Sygnały okresowe  (21 Czerwca 2017, Sro 6:52 pm)
Błąd przy inicjowaniu sieci LVQ  (21 Czerwca 2017, Sro 4:39 pm)
Czy wypada być z byłym chłopakiem przyjaciółki?  (21 Czerwca 2017, Sro 2:19 pm)
Artykuły o Matlab  (21 Czerwca 2017, Sro 9:46 am)
Czy wasz człowiek też jest dziwny?  (20 Czerwca 2017, Wto 1:59 pm)
Poprawianie matury to wstyd?  (20 Czerwca 2017, Wto 8:53 am)
Gdzie po szybką pożyczkę?  (17 Czerwca 2017, Sob 12:43 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