Finding all the zeroes of a discontinuous function in a particular range
3 ビュー (過去 30 日間)
古いコメントを表示
I am trying to find the zeroes of the following symbolic function.
syms x
moment =20*heaviside(x - 8)*(x - 8) - (3*x^2*heaviside(x))/4 + 5*heaviside(x - 20)*(x - 20) +...
(3*heaviside(x - 20)*(x - 20)^2)/4;
fplot(diff(moment,1),[-2 20])
solve(diff(moment,1) == 0, x, 'MaxDegree', 4);
extrema = vpa(ans, 6)
subs(moment,extrema)
Matlabs outputs
extrema =
-1.0
ans =
0.0
However, the first derivative of the above moment function has a number of zeroes located at points other than -1, for example at approximately x = 13. Could someone please explain how all the zeroes or the zeroes in a particular range can be found?
0 件のコメント
採用された回答
Star Strider
2020 年 10 月 27 日
It may be version-dependent.
In R2020b (Update 1), I get:
extrema =
13.3333
-1.0
ans =
-26.666666666666666666666666670975
0
Plotting the function as well as the derivative:
figure
fplot(diff(moment,1),[-2 20])
hold on
fplot(moment,[-2 20])
hold off
supports those.
2 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Equation Solving についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!