cosd() giving similar value for different angles

I have the following code. Though latitude(i) and longitude(i) have different values in degree, Ut and Un are giving the same value. Please help me to find the problem in the following code. Ut and Un should be little different than each other. Thanks a lot
data = load('LatLong.txt');
distance = data(:, 1);
speed_km = data(:, 2);
latitude = data(:, 3);
longitude = data(:, 4);
for i = 1:length(speed_km)
speed_r(i) = speed_km(i) * cosd(latitude(i)) * cosd(longitude(i));
speed_t(i) = speed_km(i) * cosd(latitude(i)) * sind(longitude(i));
speed_n(i) = speed_km(i) * sind(longitude(i));
end
Ur = speed_r;
Ut = speed_t;
Un = speed_n;
figure;
plot(distance, Ur, 'b');
hold on
plot(distance, Ut, 'r');
hold on
plot(distance, Un, 'g'); % need correction for Ut and Un as I am getting only one line (green)

3 Comments

Please attach LatLong.txt for testing
What are Ut and Un?
Thanks @Walter Roberson, I have attached the txt file.
Thanks @Paul. Ur, Ut and Un are speed in RTN coordinate. Ur is ok but Ut and Un should be little different. Comparing
speed_t(i) = speed_km(i) * cosd(latitude(i)) * sind(longitude(i));
speed_n(i) = speed_km(i) * sind(longitude(i));
I have found that cosd(latitude) is just 1 for all i as the code is taking instead of the small variation

Sign in to comment.

Answers (1)

data = load('LatLong.txt');
speed_km = data(:, 1);
latitude = data(:, 2);
longitude = data(:, 3);
The latitude is quite small, assuming it's actually in degrees.
figure
plot(latitude)
However, the cosd of the latitude isn't exactly one, though it's quite close to one as expected.
figure
plot(cosd(latitude))

Categories

Asked:

on 15 Mar 2024

Edited:

on 15 Mar 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!