Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-08-08, 10:20   #1
lishaomin
初级会员
 
注册日期: 2008-08-08
年龄: 65
帖子: 10
声望力: 17
lishaomin 正向着好的方向发展
微笑 [求助]请帮助完成答案

您好!
在学习中遇到找不到答案,请帮助!
>> function c7fun7_2
%clear;clc;
X10=[2.874 3.278 3.307 3.39 3.3679]; X20=[7.04 7.645 8.075 8.53 8.774];
Xn0=X20;
%——调用函数求取GM(1,N)的参数
KK=c7fun72(X10,Xn0)
a=KK(1);b=KK(2);
%——对数列X20进行1次累加生成得到x21
m2=length(X20); s3=0;
for jj=1:1:m2
X21(jj)=s3+X20(jj); s3=X21(jj);
end
%利用GM(1,N)进行预测,利用X21预测X11——标记为xx11
for k=1:1:m2-1
xx11(k+1)=(X10(1)-b/a*X20(k+1))*exp(-a*k)+b/a*X21(k+1);
end
%——对xx11进行逆累加生成
s4=0;
xx10(1)=X10(1);
for jj=2:1:m2
xx10(jj)=xx11(jj)-xx11(jj-1);
end
disp('GM(1,N)对数列1进行预测结果')
xx10
disp('数列1原始观测数据');X10
%——求算GM(1,N)参数函数
function a=c7fun72(X10,Xn0)
[n,m]=size(Xn0);
%——1次累加生成
s1=0;s2([1:n],1)=0;
for jj=1:1:m
X11(jj)=s1+X10(jj); Xn1(:,jj)=s2+Xn0(:,jj);s1=X11(jj); s2=Xn1(:,jj);
end
%——建立矩阵B、yn
for ii=1:1:m-1
B(ii)=-(X11(ii)+X11(ii+1))/2;
end
XN1=Xn1'; B=[B(,XN1(2:m,1:n];
yn=X10([2:m])'; a=inv((B'*B))*B'*yn;
lishaomin 当前离线   回复时引用此帖
旧 2008-08-10, 11:47   #2
zhanhuichong
普通会员
 
注册日期: 2008-04-04
年龄: 38
帖子: 46
声望力: 20
zhanhuichong 是一个将要出名的人zhanhuichong 是一个将要出名的人
默认 回复: [求助]请帮助完成答案

请给出问题所在
方便我们直接 帮你调试
zhanhuichong 当前离线   回复时引用此帖
旧 2008-08-10, 16:53   #3
lishaomin
初级会员
 
注册日期: 2008-08-08
年龄: 65
帖子: 10
声望力: 17
lishaomin 正向着好的方向发展
默认 回复: [求助]请帮助完成答案

引用:
作者: zhanhuichong 查看帖子
请给出问题所在
方便我们直接 帮你调试
你好!
我的问题是在命令中不能显示答案
lishaomin 当前离线   回复时引用此帖
旧 2008-08-10, 16:54   #4
lishaomin
初级会员
 
注册日期: 2008-08-08
年龄: 65
帖子: 10
声望力: 17
lishaomin 正向着好的方向发展
默认 回复: [求助]请帮助完成答案

引用:
作者: lishaomin 查看帖子
你好!
我的问题是在命令中不能显示答案
请帮助怎样的命令才能显示
lishaomin 当前离线   回复时引用此帖
旧 2008-08-11, 15:46   #5
lishaomin
初级会员
 
注册日期: 2008-08-08
年龄: 65
帖子: 10
声望力: 17
lishaomin 正向着好的方向发展
默认 回复: [求助]请帮助完成答案

如果能将运行的步骤和结果告诉我,请发送[email protected]邮箱.谢谢!
lishaomin 当前离线   回复时引用此帖
旧 2008-08-19, 16:28   #6
lishaomin
初级会员
 
注册日期: 2008-08-08
年龄: 65
帖子: 10
声望力: 17
lishaomin 正向着好的方向发展
默认 回复: [求助]请帮助完成答案

引用:
作者: zhanhuichong 查看帖子
请给出问题所在
方便我们直接 帮你调试
愿意帮助,可以,请与[email protected]邮箱和我联系,谢谢!
lishaomin 当前离线   回复时引用此帖
旧 2008-08-20, 00:46   #7
pslpsl
普通会员
 
注册日期: 2008-08-17
年龄: 36
帖子: 70
声望力: 20
pslpsl 是一个将要出名的人pslpsl 是一个将要出名的人
默认 回复: [求助]请帮助完成答案

这是运行结果

>> c7fun7_2
KK =

2.5837
1.0250

GM(1,N)对数列1进行预测结果

xx10 =

2.8740 5.8137 3.2135 3.3856 3.4809

数列1原始观测数据

X10 =

2.8740 3.2780 3.3070 3.3900 3.3679
pslpsl 当前离线   回复时引用此帖
旧 2008-08-20, 00:50   #8
pslpsl
普通会员
 
注册日期: 2008-08-17
年龄: 36
帖子: 70
声望力: 20
pslpsl 是一个将要出名的人pslpsl 是一个将要出名的人
默认 回复: [求助]请帮助完成答案

原来的程序有两处错误:

disp('GM(1,N)对数列1进行预测结果'); (1)
XN1=Xn1'; B=[B(,XN1(2:m,1:n)]; (2)

(1)处的右括号是中文模式下输入的,有误
(2)处少了个右括号

都是些小错误
pslpsl 当前离线   回复时引用此帖
旧 2008-08-22, 09:55   #9
lishaomin
初级会员
 
注册日期: 2008-08-08
年龄: 65
帖子: 10
声望力: 17
lishaomin 正向着好的方向发展
默认 回复: [求助]请帮助完成答案

引用:
作者: pslpsl 查看帖子
原来的程序有两处错误:

disp('GM(1,N)对数列1进行预测结果'); (1)
XN1=Xn1'; B=[B(,XN1(2:m,1:n)]; (2)

(1)处的右括号是中文模式下输入的,有误
(2)处少了个右括号

都是些小错误
请问:在命令窗口下输入c7fun_2为何不出结果?
lishaomin 当前离线   回复时引用此帖
旧 2008-08-22, 10:00   #10
lishaomin
初级会员
 
注册日期: 2008-08-08
年龄: 65
帖子: 10
声望力: 17
lishaomin 正向着好的方向发展
默认 回复: [求助]请帮助完成答案

引用:
作者: pslpsl 查看帖子
这是运行结果

>> c7fun7_2
KK =

2.5837
1.0250

GM(1,N)对数列1进行预测结果

xx10 =

2.8740 5.8137 3.2135 3.3856 3.4809

数列...
请问如何操作运行结果?我因是初学者想请教?
lishaomin 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 21:15


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.