how can I use my function f to replace a and b with writing all the equation every time? x^3 + a^2*x^2 - 10)*sin(x) - y) like f(a)*f(b)<0

1 次查看(过去 30 天)
clc;
clear;
syms p;
x = 13.61015;
y = 13257;
a = 5.14;
b = 11.47;
err1 = 0.000001;
f = (x^3 + p^2*x^2 - 10)*sin(x) - y == 0;
i=0;
if ((x^3 + a^2*x^2 - 10)*sin(x) - y) * ((x^3 + b^2*x^2 - 10)*sin(x) - y) > 0
disp ('Wrong Interval');
return
end

采纳的回答

Torsten
Torsten 2022-10-31
x = 13.61015;
y = 13257;
a = 5.14;
b = 11.47;
err1 = 0.000001;
f = @(x,y,p) (x^3 + p^2*x^2 - 10)*sin(x) - y ;
f(x,y,a)
ans = -6.8568e+03
f(x,y,b)
ans = 9.9765e+03
  2 个评论
Torsten
Torsten 2022-10-31
编辑:Torsten 2022-10-31
So you have two points a, b with f(a)*f(b) < 0.
Now you will form c = (a+b)/2 and calculate f(a)*f(c) and f(b)*f(c).
If f(a)*f(c) < 0, you will set a = a and b = c.
If f(b)*f(c) < 0, you will set a = c and b = b.
And continue in the same way for the next step.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by