-
71. Data: 2010-01-23 09:57:07
Temat: Re: matlab taki wydajny?
Od: Wit Jakuczun <w...@g...com>
On 23 Sty, 10:42, Mariusz Marszałkowski <m...@g...com> wrote:
> On 23 Sty, 10:34, Wit Jakuczun <w...@g...com> wrote:> On 23 Sty, 10:11,
Mariusz Marszałkowski <m...@g...com> wrote:
>
> > > Przy mnozeniu macierzy wierszowej przez prostokatna juz wiem
>
> > Co to jest macierz wierszowa?
>
> Macierz zawierajaca dokladnie jeden wiersz i dowolna ilosc kolumn.
Ok. Czyli to jest po prostu wektor :).
Pozdrawiam,
Wit Jakuczun
-
72. Data: 2010-01-23 09:58:28
Temat: Re: matlab taki wydajny?
Od: Mariusz Marszałkowski <m...@g...com>
On 23 Sty, 10:57, Wit Jakuczun <w...@g...com> wrote:
> On 23 Sty, 10:42, Mariusz Marszałkowski <m...@g...com> wrote:
>
> > On 23 Sty, 10:34, Wit Jakuczun <w...@g...com> wrote:> On 23 Sty, 10:11,
Mariusz Marszałkowski <m...@g...com> wrote:
>
> > > > Przy mnozeniu macierzy wierszowej przez prostokatna juz wiem
>
> > > Co to jest macierz wierszowa?
>
> > Macierz zawierajaca dokladnie jeden wiersz i dowolna ilosc kolumn.
>
> Ok. Czyli to jest po prostu wektor :).
>
No tak :)
-
73. Data: 2010-01-24 10:23:36
Temat: Re: matlab taki wydajny?
Od: thrunduil <t...@w...pl>
On 23 Sty, 10:11, Mariusz Marszałkowski <m...@g...com> wrote:
> Przy mnozeniu macierzy wierszowej przez prostokatna juz wiem
> na 100% ze matlab nie jest o zaden rzad wielkosci szybszy, tylko
> jest dwa razy wolniejszy od procedury napisanej doslownie na
> kolanie w C++.
to bylo sprawdzane czy sa to tylko domysly?
bo podany kod mnozenia macierzy byl >10x wolniejszy od matlaba.
i to nawet dla tablic o statycznie znanych rozmiarach bedacych potega
2.
W tym przypadku kompilator generuje bardzo optymalne indeksowanie.
W ogolnym kodzie takie optymalizacje sa niemozliwe.
-
74. Data: 2010-01-25 06:45:04
Temat: Re: matlab taki wydajny?
Od: bartekltg <b...@g...com>
On 24 Sty, 11:23, thrunduil <t...@w...pl> wrote:
> On 23 Sty, 10:11, Mariusz Marszałkowski <m...@g...com> wrote:
>
> > Przy mnozeniu macierzy wierszowej przez prostokatna juz wiem
> > na 100% ze matlab nie jest o zaden rzad wielkosci szybszy, tylko
> > jest dwa razy wolniejszy od procedury napisanej doslownie na
> > kolanie w C++.
>
> to bylo sprawdzane czy sa to tylko domysly?
>
> bo podany kod mnozenia macierzy byl >10x wolniejszy od matlaba.
To byl moj kod wiecz czuje sie wywolany do usprawiedliwien.
Tamten kod byl napisany przed odrobieniem lekcji i skakal
po macierzy nie w tej kolejnosci, w jakiej lubi to cache.
Napisalem trzy wersje mnozenia poziomego wektora przez macierz
naiwna ze zla kolejnoscia petli, naiwna z dobra kolejnoscia
i wariacje na temat blokowego mnozenia macierzy.
n=960. Wszystko, program w cpp i matlab dostawaly piorytet real time.
naiwny, złe petle 51.345
naiwny, ok 7.923
blok32 8.705
blok16 6.865
blok8 4.886
blok4 5.476
MATLAB 8.899
tic,for j=1:960,w=v*M;end;toc
Mam nadzieje, ze tym razem nie strzelilem babola;)
void mnoz (double *w,double *M,double *v,int n)
{//petle ok
for (int i=0;i<n;i++)
{
v[i]=0;
}
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
v[j]=w[i]*M[n*i+j];
}
}
void mnoz_naiw(double *w,double *M,double *v,int n)
{//zle petle
for (int i=0;i<n;i++)
{
v[i]=0;
}
for (int j=0;j<n;j++)
for (int i=0;i<n;i++)
v[j]=w[i]*M[n*i+j];
}
template<class T, int SN>
void blokmnoz (T *w,T *M,T *v,int n)
{
for (int i=0;i<n;i++)
{
v[i]=0;
}
for (int i=0;i<n;i+=SN)
{
for (int j=0;j<n;j+=SN)
{
for (int ii=i;ii<i+SN;ii++)
{
for (int jj=j;jj<j+SN;jj++)
v[jj]=w[ii]*M[n*ii+jj];
}
}
}
}
pozdrawiam
bartekltg
-
75. Data: 2010-02-03 17:23:30
Temat: Re: matlab taki wydajny?
Od: Adam Piotrowski <k...@i...pl>
Wiktor S. pisze:
>> Dlaczego mam sie nie dziwic? Matlab chyba jest cholernie drogi?
>
> Mnie zastanawia, jakie sa zastosowania, w których sie faktycznie OPLACA
> wybulic TAKI majatek na Matlaba... bo jakies chyba sa, skoro program zyje?
>
Stosowany jest czesto do obliczen inzynierskich na uczelniach -
wystarczy podstawowa wiedza na temat programowania a mozna pisac
zaawansowane programy symulujace rozne zjawiska. Z ciekawszych
zastosowan Matlaba jak dla mnie to ... sterowanie praca akceleratora
liniowego
Adam
-
76. Data: 2010-02-03 21:19:12
Temat: Re: matlab taki wydajny?
Od: Mariusz Marszałkowski <m...@g...com>
On 3 Lut, 18:23, Adam Piotrowski <k...@i...pl> wrote:
> Wiktor S. pisze:
>
> >> Dlaczego mam sie nie dziwic? Matlab chyba jest cholernie drogi?
>
> > Mnie zastanawia, jakie sa zastosowania, w których sie faktycznie OPLACA
> > wybulic TAKI majatek na Matlaba... bo jakies chyba sa, skoro program zyje?
>
> Stosowany jest czesto do obliczen inzynierskich na uczelniach -
> wystarczy podstawowa wiedza na temat programowania a mozna pisac
> zaawansowane programy symulujace rozne zjawiska. Z ciekawszych
> zastosowan Matlaba jak dla mnie to ... sterowanie praca akceleratora
> liniowego
Ciekawi mnie ta matalbowa uniwersalna szukaczka minimow funkcji.
Np. mam plik testowy z miliardem wierszy (albo jeszcze wiecej) i
kilkudziesięcioma
kolumnami. Trzeba zrobic z tego uklad rownan normalnych i podac
współczynniki
liniowe. Domyslam sie ze z tak zdefiniowanym zadaniem nie ma problemu,
ale
po jednym rozwiazaniu trzeba utworzyc dodatkowa kolumne przez poddanie
nieliniowej funkcji kilku innych kolumny (na chybil tafil, albo
systematycznie wszystkie
kombinacjie) i podac najlepsze dopasowanie.
Pozdrawiam
-
77. Data: 2010-02-04 09:31:51
Temat: Re: matlab taki wydajny?
Od: Roman Werpachowski <r...@g...com>
On 3 Feb, 17:23, Adam Piotrowski <k...@i...pl> wrote:
> Wiktor S. pisze:
>
> >> Dlaczego mam sie nie dziwic? Matlab chyba jest cholernie drogi?
>
> > Mnie zastanawia, jakie sa zastosowania, w których sie faktycznie OPLACA
> > wybulic TAKI majatek na Matlaba... bo jakies chyba sa, skoro program zyje?
>
> Stosowany jest czesto do obliczen inzynierskich na uczelniach -
> wystarczy podstawowa wiedza na temat programowania a mozna pisac
> zaawansowane programy symulujace rozne zjawiska. Z ciekawszych
> zastosowan Matlaba jak dla mnie to ... sterowanie praca akceleratora
> liniowego
W ogole to przeciez Matlab nie jest taki drogi, zeby jakis bank czy
hedge fund nie mogl kupic po licencji dla kazdego analityka (ktory nie
musi byc programista, zeby napisac calkiem wydajny kod numeryczny).
Druga potezna zaleta Matlaba jest latwa wizualizacja danych, to czesto
wazniejsze niz predkosc mnozenia macierzy.
RW
-
78. Data: 2010-02-04 10:40:41
Temat: Re: matlab taki wydajny?
Od: Adam Przybyla <a...@r...pl>
Roman Werpachowski <r...@g...com> wrote:
> On 3 Feb, 17:23, Adam Piotrowski <k...@i...pl> wrote:
>> Wiktor S. pisze:
>>
>> >> Dlaczego mam sie nie dziwic? Matlab chyba jest cholernie drogi?
>>
>> > Mnie zastanawia, jakie sa zastosowania, w których sie faktycznie OPLACA
>> > wybulic TAKI majatek na Matlaba... bo jakies chyba sa, skoro program zyje?
>>
>> Stosowany jest czesto do obliczen inzynierskich na uczelniach -
>> wystarczy podstawowa wiedza na temat programowania a mozna pisac
>> zaawansowane programy symulujace rozne zjawiska. Z ciekawszych
>> zastosowan Matlaba jak dla mnie to ... sterowanie praca akceleratora
>> liniowego
>
> W ogole to przeciez Matlab nie jest taki drogi, zeby jakis bank czy
> hedge fund nie mogl kupic po licencji dla kazdego analityka (ktory nie
> musi byc programista, zeby napisac calkiem wydajny kod numeryczny).
>
> Druga potezna zaleta Matlaba jest latwa wizualizacja danych, to czesto
> wazniejsze niz predkosc mnozenia macierzy.
... hihi, to ciekawe czemu DoE sponsoruje Pythona aby tyle nie wydawac
na matlaba;-) Z powazaniem
Adam Przybyla
-
79. Data: 2010-02-05 03:43:56
Temat: Re: matlab taki wydajny?
Od: Mariusz Marszałkowski <m...@g...com>
On 4 Lut, 11:40, Adam Przybyla <a...@r...pl> wrote:
> Roman Werpachowski <r...@g...com> wrote:
> > On 3 Feb, 17:23, Adam Piotrowski <k...@i...pl> wrote:
> >> Wiktor S. pisze:
>
> >> >> Dlaczego mam sie nie dziwic? Matlab chyba jest cholernie drogi?
>
> >> > Mnie zastanawia, jakie sa zastosowania, w których sie faktycznie OPLACA
> >> > wybulic TAKI majatek na Matlaba... bo jakies chyba sa, skoro program zyje?
>
> >> Stosowany jest czesto do obliczen inzynierskich na uczelniach -
> >> wystarczy podstawowa wiedza na temat programowania a mozna pisac
> >> zaawansowane programy symulujace rozne zjawiska. Z ciekawszych
> >> zastosowan Matlaba jak dla mnie to ... sterowanie praca akceleratora
> >> liniowego
>
> > W ogole to przeciez Matlab nie jest taki drogi, zeby jakis bank czy
> > hedge fund nie mogl kupic po licencji dla kazdego analityka (ktory nie
> > musi byc programista, zeby napisac calkiem wydajny kod numeryczny).
>
> > Druga potezna zaleta Matlaba jest latwa wizualizacja danych, to czesto
> > wazniejsze niz predkosc mnozenia macierzy.
>
> ... hihi, to ciekawe czemu DoE sponsoruje Pythona aby tyle nie wydawac
> na matlaba;-) Z powazaniem
> Adam Przybyla
W Pytonie też są takie gotowce jak uniwersalna szukaczka minimów?
Pozdrawiam
-
80. Data: 2010-02-05 06:53:33
Temat: Re: matlab taki wydajny?
Od: bartekltg <b...@g...com>
On 3 Lut, 22:19, Mariusz Marszałkowski <m...@g...com> wrote:
> liniowe. Domyslam sie ze z tak zdefiniowanym zadaniem nie ma problemu,
> ale
> po jednym rozwiazaniu trzeba utworzyc dodatkowa kolumne przez poddanie
> nieliniowej funkcji kilku innych kolumny (na chybil tafil, albo
> systematycznie wszystkie
> kombinacjie) i podac najlepsze dopasowanie.
Jesli masz na mysli fminsearch, to znajduje lokalne minimum
i chyba nie najlepiej radzi sobie ze zbyt duza liczba zmiennych.
http://en.wikipedia.org/wiki/Nelder%E2%80%93Mead_met
hod
Jesli dobrze rozumiem, chcesz miec jakis wklad kombinatoryczny.
Tego ta funkcja nie zrobi. Jesli jednak dopuszczasz, aby w
rozwiazaniu
byly wszytkie, to niepotrzebne beda mialy maly wspolczynnik i tyle
(rozumiem, ze przez 'nieliniowosc' rozumiesz np to, ze wspolrzynnik
jest odchyleniem rozkaldu gaussa, a nie, ze do symy wchodzi
parametr*funkcja(wartosc kolumny) )
Miliardy wierszy to gigabajty. Matlab nie musi byc wtedy najlepszym
wyborem (trzymasz wzytko w pamieci, a co jakis czas, potrzeba
podwoijnej
ilosci pamieci! Dosc beztrosko tworzy sobie kopie danych).
pozdrwiam
bartekltg