matlab如何进行数据的预测

来源:百度知道 编辑:UC知道 时间:2024/05/18 07:21:39
clear;clc;
: t=[1:5]; %时间输入
: y=[1507.4 1526.1 1533.4 1525.1 1517.8];
: plot(t,y,'o') %画散点图
: p=polyfit(t,y,2) %二次多项式拟合
: hold on
: xi=linspace(0,5,160); %在[0,5]等间距取160 个点
: yi=polyval(p,xi); %由拟合得到的多项式及xi,确定yi
: plot(xi,yi) %画拟合曲线图
: 我建立的模型总产量在增加不知道哪不合适
我原先想用二项式对”1507.4 1526.1 1533.4 1525.1 1517.8”这组数据拟合做个预测
但是效果不明显
得出个递增的函数
我想要个递减的函数但是不知道应该怎么处理!
请高手指教
不好意思
给错数据了
500.6 442.4 428.6 370.1 343.1
应该是我的方法不对
我绝得应该用对数拟合
但是我编译运行的不正确
能不能帮我编个
刚学这个
不太会

高维数组的转置使用permute函数
具体调用语法
B = permute(A,order)
按照向量order指定的顺序重排A的各维。B中元素和A中元素完全相同。但由于经过重新排列,在A、B访问同一个元素使用的下标就不一样了。order中的元素必须各不相同。

例子
>> A=rand(4,5,6);
>> size(A)

ans =

4 5 6

>> B = permute(A,[2 1 3]);
>> size(B)

ans =

5 4 6

原来A是4x5x6的矩阵
按照顺序[2 1 3]转置之后,原来的第一,第二维顺序改变
B的大小是5x4x6

clear;clc;
t=[1:5]; %时间输入
y=[500.6 442.4 428.6 370.1 343.1];
plot(t,y,'o') %画散点图
p=polyfit(t,y,2) %二次多项式拟合
hold on
xi=linspace(0,5,160); %在[0,5]等间距取160 个点
yi=polyval(p,xi); %由拟合得到的多项式及xi,确定yi
plot(xi,yi) %画拟合曲线图

这其实就是递减函数啊,开口向下的拉,你怎么得到递增的呢?