Saya ingin menyelesaikan sekumpulan persamaan non linier di matlab. Maksud saya, katakanlah saya memiliki dua titik yang ditentukan oleh (lat1,lon1) dan (lat2,lon2). Sekarang saya ingin mencari titik lat3,lon3 sedemikian rupa sehingga jaraknya 20km dari kedua titik tersebut. Diberikan oleh perpotongan lingkaran berjari-jari 20 km yang digambar dengan titik (lat1,lon1) dan (lat2,lon2) sebagai pusatnya.
Namun, saya agak bingung bagaimana menyelesaikan persamaan ini.
Saya memiliki fungsi untuk menghitung jarak antara dua titik di matlab
function [ distance ] = calculateDistance( latitude1,longitude1,latitude2,longitude2 )
radius = 6371;
dLat = degtorad(latitude2-latitude1);
dLon = degtorad(longitude2-longitude1);
a = sin(dLat/2) * sin(dLat/2) + cos(degtorad(latitude1)) * cos(degtorad(latitude2)) * sin(dLon/2) * sin(dLon/2);
c = 2 * atan2(sqrt(a), sqrt(1-a));
distance = radius * c;
end
dan saya mencoba menggunakan fungsi penyelesaian matlab yang tersedia di http://www.mathworks.com/help/toolbox/symbolic/solve.html
Namun ketika saya mendefinisikan
syms lat3 lon3
dan mencoba untuk meneruskan persamaan ke fungsi penyelesaian, itu menimbulkan kesalahan atan2 only accepts arguments of type sym
. Bagaimana aku bisa mengatasi ini?