Ubuntu 14.04 ma problemy z obsługą sieci. Dość często zdarza się zawieszenie interfejsu. Ubuntu do zarządzania siecią używa menadżera sieci, zamiast tradycyjnego linuxowego modelu sieciowego. Aby zrestartować sieć wystarczy wydać polecenie
sudo service network-manager restartBlog o tym jak widzę świat. Z jakim problemami się spotykam i jak je rozwiązuję. Jednym słowem, formą tego bloga jest brak formy.
niedziela, 10 maja 2015
środa, 15 kwietnia 2015
środa, 4 marca 2015
[ARM] Cross Compiling Ubuntu dla Raspberry Pi [C/C++]
-
Pobierz toolchain dla procesora BCM2835:
git clone git://github.com/raspberrypi/tools.git -
Wejdź w /tools/arm-bcm2708.
Toolchain dla systemów 64-bitowych znajduje się w: gcc-linaro-arm-linux-gnueabihf-raspbian-x64.
Dla systemów 32-bitowych w: gcc-linaro-arm-linux-gnueabihf-raspbian.
arm-bcm2708hardfp-linux-gnueabi
gcc-linaro-arm-linux-gnueabihf-raspbian
arm-bcm2708-linux-gnueabi
gcc-linaro-arm-linux-gnueabihf-raspbian-x64 Ściągnij i rozpakuj: Eclipse dla C++.
-
Utwórz nowy projekt C++.
- Nadaj mu nazwę RPi. Wybierz Empty Project oraz Cross GCC.
Wybierz Release oraz Debug.
-
- Pole tekstowe "Cross compiler prefix" uzupełnij: arm-linux-gnueabihf.
- Ścieżkę do toolchain podaj w zależności od używanego systemu operacyjnego. Będzie ona wyglądać następująco:
.../gcc-linaro-arm-linux-gnueabihf-raspbian/bin dla systemów 32-bitowych lub
.../gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin dla systemów 64-bitowych.
-
- W projekcie utwórz folder "src" a w nim plik "main.cpp".
-
-
Przenieś plik wynikowy, znajdujący się w katalogu workspace na Raspberry Pi.
-
Na Raspberrym wykonaj chmod u+x ./RPi w katalogu gdzie umieściłeś plik wykonywalny. Następnie ./RPi. Powinieneś otrzymać:
Połączenie SSH
poniedziałek, 2 marca 2015
Drukowanie dwustronne - bez duplex - algortytm ;)
- Wydrukuj najpierw strony nieparzyste(opcja odd) zaznaczając odpowiednią opcję w ustawieniach drukowania.
- Wyjmij zadrukowane z jednej strony kartki. Jeśli całkowita liczba wydrukowanych stron jest nieparzysta zabierz ostatnią kartkę.
- Włóż kartki w ten sposób aby drukarka zadrukowała puste strony.
- Zaznacz opcję wydruku stron parzystych (opcja "even") i opcję drukowania od ostatniej strony("reverse").
- W przypadku nieparzystej liczby stron, nie zapomnij o odłożonej ostatniej kartce.
sobota, 28 lutego 2015
[Ubuntu / Linux] Jak zrobić obraz pyty CD
- Posługując się komendą:
ls /dev/ | grep cdromSprawdź jak nazywa się napęd optyczny, którego obraz chcesz zrobić.
-
Następnie, używając nazwy urządzenia, wykonaj plecenie:
dd if=/dev/cdrom of=~/obraz.isoPo jego wykonaniu w katalogu domowym utworzony zostanie obraz płyty.
piątek, 27 lutego 2015
Mały tutorial Matlab / Octave
Rysowanie gęstości
Sposób na rysowanie wykresu funkcji dwuwymiarowej.
Jak dodać paczkę do OCTAVE
Istnieją na to dwa sposoby:
Instalacja z Octave Forge. W repozytorium Octave Forge wyszukaj paczkę, którą chcesz zainstalować np. "control". Aby dokonać instalacji uruchom Octave i wpisz: "pkg install -forge control". Paczka powinna automatycznie ściągnąć się z repozytorium i zainstalować.
Instalacji można dokonać również ręcznie, ściągając plik: "control-***.tar.gz" (gwiazdki oznaczają wersję) i wpisując "pkg install control-***.tar.gz". Uwaga! Octave musi być otwarte w katalogu w którym znajduje się ściągnięta paczka.
Zainstalowane paczki można wyświetlić poleceniem: "pkg list". Paczki pozbyć się można poleceniem "pkg uninstall control"
Jak pomnożyć wielomiany w Octave
W środowisku Octave wielomian jest reprezentowany przez współczynniki funkcji wielomianowej poczynając od najbardziej znaczącego. Na przykład wektor: p=[3 -2 4 0 1]; reprezentuje funkcję wielomianową: p(x)=3*x^4-2*x^3+4*x^2+1 Możemy teraz wyświetlić sobie funkcje wielomianową następującym poleceniem: polyout(p,'x') 3*x^4 - 2*x^3 + 4*x^2 + 0*x^1 + 1 Mnożenie dwóch wielomianów p,q możemy wykonać poleceniem: r = conv(p,q);. Dzielenie natomiast poleceniem: [b,r] = deconv(y,a);. Gdzie b-wynik dzielenia wielomianów, r-reszta z dzielenia.
Jak numerycznie rozwiązać równanie różniczkowe?
Octave pozwala na rozwiązanie wektorowych równań różniczkowych w postaci dx/dt = f(t,x).
- Pierwszym krokiem jest definicja funkcji f(x,t). Załóżmy, że f(x,t)=sin(t).
octave:1> function x_pirm = f(x,t) > x_prim = sin(t); > endfunction
- Definiujemy czas rozwiązania: t=[0:0.01:6*pi]; lub t=linspace(0,6*pi,2000);
- Definiujemy warunki początkowe x_0=1;
- Rozwiązujemy równanie poleceniem y=lsode("f",x_0,t);
- Rysujemy rozwiązanie: plot(t,y)
Jak znaleźć zero funkcji?
Do rozwiązywanie nie liniowych równań postaci f(x)=0 służy funkcja fsolve.
- Najpierw musimy zdefiniować funkcję lub ich układ.
octave:1> function retval = wielo(x) > retval = x.^3-x.^2 +4; > endfunction
- Kolejnym krokiem jest wybór wartości początkowych x_0. Niech x_0 = -1.
- Możemy spróbować rozwiązać równanie poleceniem: fsolve(@wielo,x_0). Powinniśmy otrzymać
Warto zwrócić uwagę, że nie zawsze polecenie fsolve znajduje poprawne rozwiązanie. Jeśli położymy x_0 = 5, rozwiązanie okaże się błędne.
Jak zmienić grubość linii na wykresie?
Służy do tego parametr 'LineWidth' w funkcji plot. Na przykład: plot(x,y,'LineWidth',2)
czwartek, 12 lutego 2015
Jak pomnożyć wielomiany w Octave.
W środowisku Octave wielomian jest reprezentowany przez współczynniki funkcji wielomianowej poczynając od najbardziej znaczącego. Na przykład wektor: p=[3 -2 4 0 1]; reprezentuje funkcję wielomianową: p(x)=3*x^4-2*x^3+4*x^2+1 Możemy teraz wyświetlić sobie funkcje wielomianową następującym poleceniem: polyout(p,'x') 3*x^4 - 2*x^3 + 4*x^2 + 0*x^1 + 1 Mnożenie dwóch wielomianów p,q możemy wykonać poleceniem: r = conv(p,q);. Dzielenie natomiast poleceniem: [b,r] = deconv(y,a);. Gdzie b-wynik dzielenia wielomianów, r-reszta z dzielenia.














