Clear Filters
Clear Filters

what is wrong with my code?

1 view (last 30 days)
Purvil Patel
Purvil Patel on 30 Apr 2017
Commented: James Tursa on 13 Aug 2018
Write a function called light_speed that takes as input a row vector of distances in kilometers and returns two row vectors of the same length. Each element of the first output argument is the time in minutes that light would take to travel the distance specified by the corresponding element of the input vector. To check your math, it takes a little more than 8 minutes for sunlight to reach Earth which is 150 million kilometers away. The second output contains the input distances converted to miles. Assume that the speed of light is 300,000 km/s and that one mile equals 1.609 km.
Problem 6 (light_speed):
Testing with argument(s) 150000000
Feedback: Your program made an error for argument(s) 150000000
Your solution is _not_ correct.
>> [tt ee] = light_speed1([370000000,170000000,530000000])
tt =
20.5473 9.4407 29.4327
ee =229906900 105632900 329326100
  3 Comments
Image Analyst
Image Analyst on 30 Apr 2017
How can that be? There is no way you can get a correct answer if you can't even run the program!
Anupriya Krishnamoorthy
Anupriya Krishnamoorthy on 25 Jan 2018
function [time_in_minutes,distance_in_miles] = light_speed(distance_km) time_in_minutes = distance_km /(18000000); distance_in_miles = distance_km / 1.609; end

Sign in to comment.

Answers (2)

Image Analyst
Image Analyst on 30 Apr 2017
distances = velocity * time, so time = distances/velocity. Of course you have to make sure the units work out. But you forgot to include your code so we don't know how to fix it. Chances are your unit scaling factors are wrong.

shantam sultania
shantam sultania on 13 Aug 2018
Edited: James Tursa on 13 Aug 2018
i have a problem in this code i think that the code is right but the thing is i am always getting only one output
%code is :
function [time,dist] = light_speed(distance)
time = distance /(18000000);
dist = distance / 1.609;
end
%output is
>> light_speed(distance);
>> f=light_speed(distance);
>> f
f =
0.4000 0.6000 0.8000
>>
i am always getting only one output please let me know soon
  1 Comment
James Tursa
James Tursa on 13 Aug 2018
You have to request both outputs on the lhs. E.g.,
[f,d] = light_speed(distance);

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!