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

Aktualnie online:




Najnowsze posty na forum:
Porównianie wykresów w środowisku matlab i simulink  (24 Marca 2017, Pią 2:14 am)
Komunikat Struct contents reference from a non-struct array  (23 Marca 2017, Czw 9:06 pm)
Problem z zadaniem  (23 Marca 2017, Czw 6:53 pm)
Styczna do odpowiedzi skokowej  (22 Marca 2017, Sro 11:43 am)
Zadanie z Scilab. (Wykonanie skryptu.)  (21 Marca 2017, Wto 5:06 pm)
metody rozwiazywania rownan liniowych  (20 Marca 2017, Pon 10:19 pm)
Metoda Latin Hypercube Sampling  (19 Marca 2017, Nie 7:31 pm)
Kombinacje na zbiorach  (19 Marca 2017, Nie 11:48 am)
Wypełnianie macierzy wektorami  (18 Marca 2017, Sob 8:11 pm)
Zamodelowanie bloku metalowego  (18 Marca 2017, Sob 11:50 am)
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