matlab求两曲线交点
发布网友
发布时间:2022-04-24 21:26
我来回答
共1个回答
热心网友
时间:2023-09-26 10:38
>> x = 0:0.0025:2;
>> fy1 = @(x) 0.2*exp(-0.5)*cos(4*pi*x);
>> fy2 = @(x) 2*exp(-0.5)*cos(pi*x);
>> plot(x,fy1(x),'g',x,fy2(x),'b');
>> legend('y1','y2')
% 观察可知交点在x=0.5,x=1.5附近,用fsolve求解
>> fun = @(x) fy1(x)-fy2(x);
>> x0 = fsolve(fun,0.5);
>> x1 = fsolve(fun,1.5);
>> hold on
>> plot(x0,fy1(x0),'ro',x1,fy1(x1),'ro')
>> text(x0,fy1(x0),['(',num2str(x0),',',num2str(fy1(x0)),')'])
>> text(x1,fy1(x1),['(',num2str(x1),',',num2str(fy1(x1)),')'])追问真是太感谢了!
我自己开始到也是想到了fzero和fsolve,不过需要设定迭代初值。
你眼里好,竟然看出来了解所在区间。我想问要是我根本看不出解在哪里怎么办?有没有更好的办法呢?