Could someone please explain...

I have some expressions, I dont know the different between using function 'subs' and calculating directly. My purpose is calculate nuy, by substitute the varience 'rch' into 'atan(f./(2*pi*x))' .
When I use 'subs' function, it results the error, division by zero.
But when I calculate directly, there are not error, and I obtained the result? Could anyone explain me about this?
>> syms x
>> nuy = atan(f./(2*pi*x));
>> rch = 0:0.001:0.3603;
>> subs(nuy,x,rch);
Error using symengine Division by zero.
Error in sym/subs>mupadsubs (line 140) G = mupadmex('symobj::fullsubs',F.s,X2,Y2);
Error in sym/subs (line 125) G = mupadsubs(F,X,Y);
nuy = atan(f./(2*pi*rch));

 Accepted Answer

Stephen23
Stephen23 on 23 Mar 2017
Edited: Stephen23 on 23 Mar 2017
If you are using R2013A or newer then use atan2 instead:
>> syms x
>> nuy = atan2(f,2*pi*x);
>> rch = 0:0.001:0.3603;
>> subs(nuy,x,rch)

4 Comments

Ah, my f equals to 0.02, it is not a function. that is ' 0.02/(2*pi*x) '. I mean why it does not happen error when i calculate directly?
>> f = 0.02;
>> syms x
>> nuy = atan(f./(2*pi*x));
>> rch = 0:0.001:0.3603;
>> subs(nuy,x,rch)
ans =
1.5708 1.2664 1.0098 0.815 0.67216 0.56691 0.48776 etc
duong mai
duong mai on 23 Mar 2017
Edited: duong mai on 23 Mar 2017
There appears error. My screen does not look like yours. Why?

Sign in to comment.

More Answers (0)

Tags

Asked:

on 23 Mar 2017

Edited:

on 23 Mar 2017

Community Treasure Hunt

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

Start Hunting!