matlab用二分法求解 20

编写matlab的一个程序用二分法求解出sinx-cosx在[02pi]上面的所有解,并存到数组P中... 编写matlab的一个程序用二分法求解出sinx-cosx在[0 2pi]上面的所有解,并存到数组P中 展开
 我来答
tangtangtrav
2014-11-25 · TA获得超过610个赞
知道小有建树答主
回答量:417
采纳率:0%
帮助的人:294万
展开全部
function [P]=zhidao7()
%%
% 二分法求解方程sinx-cosx在[0 2pi]上面的所有解,并存到数组P中
% 首先对方程做一些处理,如求导之类的。然后知道了有2个解。大致在什么范围【a,b】
% 或者,先分很多个区间,找出有值的区间。但这种理论上不一定准确
% 程序使用命令:[P]=zhidao7()

%%
%初值

precision = 1e-6; %精度
a =[0, pi];%因为f(0)*f(pi)<0
b = [pi,2*pi];
P(1) = twofind(a(1),a(2),1,precision);
P(2) = twofind(b(1),b(2),-1,precision);

end
function y = twofind(a,b,para,precision)
%para =1时,f(min)<0,f(max)>0;para =-1,f(min)>0,f(max)<0;
t =0;
while abs(b-a) > precision
x = (a +b)/2;
if f(x)*para > 0
b = x;
else
a = x;
end
t = t+1;
end
fprintf('迭代次数:%d\n',t);
y = x;
end
function y = f(x)
y=sin(x)-cos(x);
end
追问
[P]=zhidao7()这个是什么,运行了下系统在这里报错
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式