Wrong answer in below code?

bw = 36;
angle = 60;
syms ds
tw = bw + 2*(ds / tand(angle));
nm = 0.025;
Area = 0.5*(bw + tw)*ds;
P = bw + 2*(ds/sind(angle));
S = 0.00001;
A = (((Area)^(5/3))/((P)^(2/3))) == ((200*nm)/(S^0.5))
height =(vpasolve(A,ds));
OUTPUT: - 49.95106 - 10.88106i
The output is wrong, the correct answer for the above code should be 10.19
Can anyone please tell me why I am not getting the actual answer as 10.19

 Accepted Answer

height = vpasolve(A, ds, 1);

5 Comments

Thanks walter can you please tell me what initial paramter here means
The 1 here is the initial guess. vpasolve uses a Newton Raphson type method, so the results can depend on the initial location when there are multiple roots. The output you saw was not an error: it was just a different root. Your formula includes values to the (5/3) power, so if the initial guess takes the term negative, then negative to a fractional power is complex valued.
G A
G A on 2 Jul 2021
Edited: G A on 2 Jul 2021
Walter, why my (not correct) answer (I have deleted it already)
height = vpasolve(A,nm);
does give the right result?
Most any positive initial value should work
G A
G A on 2 Jul 2021
Edited: G A on 2 Jul 2021
Thanks, Walter - I understood postfactum that nm was interpreted as the initial value because it cannot be an argument.

Sign in to comment.

More Answers (0)

Categories

Tags

Asked:

on 2 Jul 2021

Edited:

G A
on 2 Jul 2021

Community Treasure Hunt

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

Start Hunting!