what is wrong with my code?

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 Commenti

Purvil Patel
Purvil Patel il 30 Apr 2017
Modificato: Image Analyst il 30 Apr 2017
This are my code:
function [ time1,dist2 ] = light_speed(distances)
time1 = ((distances)./18000000);
dist2 = ((distances).*0.6215);
Please help me to find fault because I am getting the answer correct but it doesn't run.
Image Analyst
Image Analyst il 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!
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

Accedi per commentare.

Risposte (2)

Image Analyst
Image Analyst il 30 Apr 2017

0 voti

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 il 13 Ago 2018
Modificato: James Tursa il 13 Ago 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 Commento

You have to request both outputs on the lhs. E.g.,
[f,d] = light_speed(distance);

Accedi per commentare.

Richiesto:

il 30 Apr 2017

Commentato:

il 13 Ago 2018

Community Treasure Hunt

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

Start Hunting!

Translated by