MATLAB求教 x=0:1:10; y1=2x; y2=3x; 要两条线同一Y值对应的2个X相加,作为第3个曲线的X,

4个回答

  • 思路可以是这样的.第一条曲线,通过x1求出y1;第二条曲线,通过y1求解方程得到x2.

    如果是两条高次的函数,可以将复杂的那一条作为第一条曲线.

    以下以y1=x1^3+x1^2+1;y2=x2^2+1为例.(随便选取的两条曲线,在x>0区域上叠加)

    clear

    x1=0:0.1:10;

    y1=x1.^3+x1.^2+1;

    L=length(x1);

    for i=1:L

    y2=@(x2)x2^2+1-y1(i);

    x2(i)=fzero(y2,[0,100]);% 用y1求解x2,注意区间的函数值一定要跨过零点

    end

    y2=x2.^2+1;

    plot(x1,y1,'r');

    hold on;

    plot(x2,y2,'b');

    y3=y1;x3=x1+x2;% 同一Y值对应的2个X相加

    plot(x3,y3,'k');

    grid on;

    hold off;

    legend('y1','y2','y3');