matlab中怎么求两条用函数表示的曲线的交点

clear all
x=-0.06:0.001:0.15;
y1=CorPDF0(x,'同个相机相关性.txt');
y2=CorPDF0(x,'不同相机相关性1.txt');
如果要求的两个曲线都是用函数表示的,怎么求它们的交点啊?想用solve或者fsolve,但是总出问题
其中CorPDF0如下:
corr1=load('同个相机相关性.txt');
u=mean(corr1);
m1=mean(abs(corr1-u));
m2=var(corr1);
y=m1/sqrt(m2);
G=gamma(2/y)/sqrt((gamma(1/y)*gamma(3/y)));
Beta=1/G; %Beta形状参数
Alpha=sqrt(m2)*sqrt(gamma(1/Beta)/gamma(3/Beta));
y1=(Beta./(2*Alpha*gamma(1./Beta)))*exp(-(abs(x-u)./Alpha).^Beta)

可以看到y1和y2的表达式非常复杂,我也试过用subs(solve(‘y1=……’。‘y2=……’))的方法,但是还是不行,matlab提示出错,急求答案!

求解思路:

第一步:建立自定义函数文件,tx_fun.m。文件包含两条曲线函数方程。

第二步:用fsolve()函数,求解两条曲线的交点。

第三步:用plot()函数,画出两条曲线

第四步:用text()函数,在两条曲线的交点附近标注交点坐标值

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-21
function F = fun(x)
F=y1-y2;% y1-y2的具体表达式

x=fsolve(@fun,x0) %x0:交点附近随便找个点本回答被提问者采纳
第2个回答  2010-04-13
我也需要解答···
等待答案
相似回答