Hi, I try to solve below question but I have a problem, my answer is wrong

Write a function that is called like this: amag = accelerate(F1,F2,m). F1 and F2 are three-element column vectors that represent two forces applied to a single object. The argument m equals the mass of the object in units of kilograms. The three elements of each force equal the x, y, and z components of the force in Newtons. The output variable amag is a scalar that is equal to the magnitude of the object’s acceleration. The function calculates the object’s acceleration vector a by using Newton’s law: F = ma, where F is the sum of F1 and F2. Then it returns the magnitude of a. Hint: we are talking about physical vectors here, so the Pythagorean theorem will come in handy.
My answer is;
function amag = accelerate(F1,F2,m)
F = F1 + F2;
amag = F./m;

 Accepted Answer

Change the line
amag = F./m;
to
amag=sqrt(sum(F.^2))/m;

7 Comments

Thank you so much your answer. This is correct answer but I don't understand this equation. I know F=m*a
Basic mathematics. If you want the magnitude, which is a scalar value, then you have to calculate the magnitude of F vector to obtain a scalar value. Since m is scalar, then the acceleration will be scalar.
Hello, i still don't understand this explanation of the answer. Is this high level math or science?
Hi,
Its real simple like using the Pythagorean theorem. First try to add the 2 vectors and then get their squares and after word try to get sum of the vector. you will have your scalar but you have to take sqrt of that answer and then divide it with (m) to get the desired result.
I write it as F=sqrt(F.1.^2+F2.^2); amag=F./m and got wrong answer. Why?

Sign in to comment.

More Answers (3)

I think i understand the your answer basically there's an extra formula for the magnitude of F=squareroot(Fx^2+Fy^2+Fz^2) that is supposed to be implied by that last line. I didn't understand that from the question but thats kinda how magnitude works
what is wrong with code? this code runs correctly for some values but showing error for F1=[1;0;0], F2=[0;1;0] and m=1 function [ amag ] = accelerate( F1,F2,m ) F=(sqrt(F1.^2)+sqrt(F2.^2)); amag=sum(F/m); end
Guys this is the correct solution,
amag = accelerate(F1,F2,m)
F_sum = F1 + F2;
F = sqrt(F_sum(1,1)^2+F_sum(2,1)^2+F_sum(3,1)^2);
amag = F/m;
Explanation: First add the vectors then find the magnitude of resultant vector and apply the formula a=F/m on it.

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!