plot graph with value when finding fzero
显示 更早的评论
Dear all,
I have question how to let it plot the graph while finding fzero
frad = 220;
rpm = 20000;
m =3;
alpha = 0.1;
R0 = 0.015;
R1 = 0.020;
rpmtoms = rpm*pi*(R0+R1)/(60);
B=pi*(R0+R1)/(m);
L=R1-R0;
ita=0.01; %from prof.
h0 = 0.00002;
k = B*tan(alpha*pi/180)/h0;
% fu = -(6*ita*rpmtoms*L*B^2)*(-log(k+1)+(2*k)/(k+2))/((k^2)*(h0^2));
f = @(h0) (-(6*ita*rpmtoms*L*B^2)*(-log(k+1)+(2*k)/(k+2))/((k^2)*(h0^2))) - frad;
h0 = fzero(f,h0)
I would like to see the graph because it seems like it depends on the initial value i set so i am not sure how much should i set? and my answer would be close to zero like in 1e-6 but cannot set it to zero. i read in some matlab questions i need to set the range for my h0 but in this case since the result close to zero but cannot be zero.
Thank you
10 个评论
madhan ravi
2019-3-20
What value are you trying to find from fzero()? , it’s a bit confusing.
Paranee Sawad
2019-3-20
Walter Roberson
2019-3-20
There are two solutions. Your equation is a quadratic of the form
constant/h0^2 - another_constant == 0
which can be solved by multiplying through by h0^2 to get
constant - another_constant*h0^2 == 0
which has solution
h0 = +/- sqrt(constant / another_constant)
Paranee Sawad
2019-3-20
Walter Roberson
2019-3-20
It just means that you should provide bounds,
fzero(f, [sqrt(realmin), realmax])
to ensure that it does not accidentally try negative values.
Paranee Sawad
2019-3-20
Walter Roberson
2019-3-20
Use 1E150 as the upper bound.
Paranee Sawad
2019-3-21
Walter Roberson
2019-3-21
[h0, fval] = fzero(f, [sqrt(realmin), 1E150])
Paranee Sawad
2019-3-21
回答(1 个)
Andrea Monfredini
2019-3-20
You can substitute the equation expression of the operators * / and ^ with the respective dot operators
f = @(h0) (-(6.*ita.*rpmtoms.*L.*B.^2).*(-log(k+1)+(2.*k)./(k+2))./((k.^2).*(h0.^2))) - frad;
and then use semilogx to see a clearer representation of your function. Adjust the arguments of t to your needs.
t=linspace(0,h0*100,1000);
figure()
semilogx(t,f(t))
hold on
yline(0)
类别
在 帮助中心 和 File Exchange 中查找有关 Graph and Network Algorithms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!