
Matlab中的armax函数
我有一个时间序列data,想用arma模型进行拟合matlab代码:z=iddata(data);m=armax(z,[3,2]);请问为什么老是报错说我的armax用的...
我有一个时间序列data,想用arma模型进行拟合
matlab代码:
z=iddata(data);
m=armax(z,[3,2]);
请问为什么老是报错说我的armax用的不对啊?
百度查的好多人都这么用啊。。
??? Error using ==> armax at 65
The estimation data set must contain an output channel.
报错如上 展开
matlab代码:
z=iddata(data);
m=armax(z,[3,2]);
请问为什么老是报错说我的armax用的不对啊?
百度查的好多人都这么用啊。。
??? Error using ==> armax at 65
The estimation data set must contain an output channel.
报错如上 展开
2个回答
展开全部
data必须是列向量。
When data is a time series, which has no input and one output, then
orders = [na nc]
z中的数据是来自iddata的返回值
所以应该是 z=iddata(y,x)%x是输入y是输出
如果z=iddata([],x)%只有出入没有输出
如果z=iddata(y,x)%即有输入又有输出
例如:我随意定义
y=sin(0:0.1:40);
data=iddata(y');
m= armax(data,[2 3])
Discrete-time IDPOLY model: A(q)y(t) = C(q)e(t)
A(q) = 1 - 1.99 q^-1 + q^-2
C(q) = 1 - 0.2973 q^-1 + 0.08516 q^-2 + 0.179 q^-3
Estimated using ARMAX on data set data
Loss function 2.95475e-030 and FPE 3.0288e-030
Sampling interval: 1
When data is a time series, which has no input and one output, then
orders = [na nc]
z中的数据是来自iddata的返回值
所以应该是 z=iddata(y,x)%x是输入y是输出
如果z=iddata([],x)%只有出入没有输出
如果z=iddata(y,x)%即有输入又有输出
例如:我随意定义
y=sin(0:0.1:40);
data=iddata(y');
m= armax(data,[2 3])
Discrete-time IDPOLY model: A(q)y(t) = C(q)e(t)
A(q) = 1 - 1.99 q^-1 + q^-2
C(q) = 1 - 0.2973 q^-1 + 0.08516 q^-2 + 0.179 q^-3
Estimated using ARMAX on data set data
Loss function 2.95475e-030 and FPE 3.0288e-030
Sampling interval: 1
追问
我知道了,我错在没有令data转置,我的data是一个1*1098的序列,我应该写z=iddata(data')就没问题了,谢谢

2025-07-02 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询