计算曲线上的点加权问题,在X值为10-53之间,三条曲线对应的Y都不为0,对三条曲线进行平均加权,在X值为53-54之间,只有后两条曲线Y不为0,对这两条进行加权。
这个是我的代码,运行之后报错,前面三段是画曲线的代码,没有问题,最后一段代码是加权的,有问题,请教一下大家是哪里出错了,谢谢了!
```c++
clear;
clc;
syms y
x =10:1:63.45842269
a =[]
for x1=x
if x1<=53.73870947
y11=-1.824e-5*x1.^3+0.05575*x1.^2-0.1125*x1-4.432;
else
y11=0;
end
a = [a,y11]
end
plot(x,a)
hold on
b =[]
for x2=x
if x2<=54.95367362
y12=-1.726e-5*x2.^3+0.05423*x2.^2-0.08238*x2-4.582;
else
y12=0;
end
b = [b,y12]
end
plot(x,b)
hold on
c =[]
for x3=x
if x3<=56.16863777
y13=-1.637e-5*x3.^3+0.05279*x3.^2-0.05384*x3-4.724;
else
y13=0;
end
c = [c,y13]
end
plot(x,c)
hold on
x =10:1:63.45842269;
if x<=53.73870947
y=(1/3)*(a+b+c)
elseif (53.73870947<=x)&&(x<=54.95367362)
y=(1/2)*(b+c)
else y=c
end
plot(x,y,'*')