All fixed points of function
13 ビュー (過去 30 日間)
古いコメントを表示
Hello,
how can I find all fixed points of following function: f(x) = cos(x) - 0.07 * x^2. question is so: find all fixed points of this function: f(x)=x.
please, help me, I use roots function but this is not work because I dont know coefficent of cos(x)
Thanks in advance
7 件のコメント
回答 (2 件)
Walter Roberson
2021 年 1 月 20 日
syms x
f(x) = cos(x) - 0.07 * x^2;
fplot([f(x)-x,0], [-15 15])
Now you can vpasolve() giving a starting point near a value you read from the graph.
You cannot use roots() for this, as it is not a polynomial.
0 件のコメント
Star Strider
2021 年 1 月 20 日
編集済み: Star Strider
2021 年 1 月 20 日
If by ‘fixed points’ you intend ‘roots’, try this:
f = @(x) cos(x) - 0.07 * x.^2;
tv = linspace(-10, 10);
fv = f(tv);
zvi = find(diff(sign(fv)));
for k = 1:numel(zvi)
idxrng = [max([1 zvi(k)-1]):min([numel(tv) zvi(k)+1])];
indv = tv(idxrng);
depv = fv(idxrng);
B = [indv(:) ones(3,1)] \ depv(:);
zx(k) = B(2)/B(1);
end
figure
plot(tv, fv, '-b')
hold on
plot(zx, zeros(size(zx)), 'xr')
hold off
grid
legend('Function Value','Roots', 'Location','S')
EDIT —
Added plot image:

.
4 件のコメント
Walter Roberson
2021 年 1 月 21 日
This appears to be a homework question... which is why I chopped out the two exact solutions I was in the middle of posting, and replaced it with a description of strategy instead of complete code.
Star Strider
2021 年 1 月 21 日
Didn’t pick up on that.
Still, an interesting problem that I’d not considred previously, and enjoyed solving.
参考
カテゴリ
Help Center および File Exchange で Get Started with MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

