关于#MATLAB#分段函数的问题,如何解决?


clc
clear
close all
tic
xr=0.6569;
xg=0.2939;
xb=0.1624;
yr=0.3179;
yg=0.639;
yb=0.0525;
x=xb:0.0001:xr;
y1=(yb+(yg-yb)/(xg-xb)*(x-xb)).*(x>xb & x<xg);
plot(x,y1)
hold on
y2=yr+(yg-yr)./(xg-xr).*(x-xr).*(x>xg & x<xr);
plot(x,y2)
hold on
y3=yr+(yb-yr)./(xb-xr).*(x-xr).*(x>xb & x<xr);
plot(x,y3)

图像有点奇怪,有多余的线段不知怎么解决

你14,17,20行的x是一样的,意味着你不是画分段函数,而是画了三个定义域相同的函数
试试将x分开成x1,x2,x3(分别是分段函数对应部分x的取值范围)