Postanowiłem podszkolić się trochę w Octave, gdzie realizuję takie o to zadanie:
Mam pewne wzory, za pomocą których przeliczam długość i szerokość geograficzną na współrzędne prostokątne płaskie:
\(\displaystyle{ x=(R \cdot sin\phi _{s} \cdot cot\phi) \cdot cos\lambda}\)
\(\displaystyle{ y=(R \cdot sin\phi _{s} \cdot cot\phi) \cdot sin\lambda}\)
Gdzie: \(\displaystyle{ \phi _{s}=18^{\circ}}\)
To samo zadanie rozwiązałem sobie w excelu, który podaję za przykład:
I teraz o co mi chodzi:
Chciałbym, żeby w Octave podać macierz (lub zapisać to w innej postaci), która zawierałaby szerokość geograficzną (\(\displaystyle{ \phi}\)), o skoku 20 stopni w przedziale od 0 do 80, a następnie przeliczyć to do radianów, żeby móc obliczać sobie sinusy,cosiunusy itd. co rozwiązałem w ten sposób:
Kod: Zaznacz cały
fi_stopnie=0:20:80
fi=deg2rad(fi_stopnie)
Kod: Zaznacz cały
lambda_stopnie=-160:20:180
lambda=deg2rad(lambda_stopnie)
0 z macierzy fi z -160 z macierzy lambda
0 z macierzy fi z -140 z macierzy lambda
0 z macierzy fi z -120 z macierzy lambda
...
0 z macierzy fi z 180 z macierzy lambda
Czego przykład widoczny jest na screenie powyżej, a następnie obliczył dla każdej takiej pary x,y ze wzorów podanych na początku?
Może jest na to inny sposób niż zapisanie tego w macierzy?
Generalnie efekt takiego skryptu ma być taki, że podaję przedział fi oraz skok, przedział lambda oraz skok,a program oblicza x,y tak jak w przykładzie z excela?
Z góry dziękuję za pomoc. W razie niejasności chętnie dopowiem
-- 13 lis 2017, o 19:18 --
EDIT: W dużym uproszczeniu potrzebuję komendy, która pozwoli mi posiadając np. taką macierz A:
A=
Kod: Zaznacz cały
20
40
60
80
B=
Kod: Zaznacz cały
0
15
30
40
60
75
90
potem zrobi to samo z drugim elementem macierzy A: 40 x 0, 40 x 15, 40 x 30, 50, x 45 itd.
i zwróci mi wynik w postaci jednej macierzy o wymiarze 1 kolumny i liczbie wierszy równej liczbie wierszy większej macierzy.[/size]