我试图获得相对于电动机速度的不同扭矩值的矢量。为此,我在某些速度下使用了一些扭矩值,并尝试将曲线拟合到它们。
tpdata=[0 10 20 30 40 50 60 65 70 75 80 85 90 93.3 95.8 98 99 100];
pdata=[3.3 3.05 2.81 2.79 2.80 2.88 3.02 3.12 3.20 3.28 3.13 2.75 2.10 1.5 1 0.5 0.25 0];
我根据自己的需要修改了它
u=2880/690
ydata=pdata*3.65*u
tsdata=tpdata*30/u
我使用曲线拟合工具来获得常数。
p1 = -2.4592e-20
p2 = 1.51e-16
p3 = -2.7946e-13
p4 = 2.3662e-10
p5 = -1.0391e-07
p6 = 2.3887e-05
p7 = -0.0024883
p8 = 0.035497
p9 = 50.272
我想将拟合多项式的解(从1 rpm到720 rpm)分配给我命名为y的矢量(扭矩值)
我可以得到解决方案图但我看不到它们或将它们指定为矢量。
for i=1:720
y = p1*i^8 + p2*i^7 + p3*i^6 + p4*i^5 + p5*i^4 + p6*i^3 + p7*i^2 + p8*i + p9;
plot(i,y,'d');
hold on
grid on
end
当我添加y =零(1,720)并将y更改为y(1,i)时,脚本将失败。
这是什么原因?
答案 0 :(得分:0)
您每次都在y中保存解决方案,并在下一个循环中被覆盖。你应该这样做:
for i=1:720
y(i) = p1*i^8 + p2*i^7 + p3*i^6 + p4*i^5 + p5*i^4 + p6*i^3 + p7*i^2 + p8*i + p9;
end
plot(y,'d');
hold on
grid on
现在你得到一个向量y(1x720)。你不需要做y =零(1,720)......