24小时热门版块排行榜    

查看: 784  |  回复: 4

heio

金虫 (小有名气)

[求助] matlab求助

本人打算用matlab处理数据中的趋势项问题  但无法运行  跪求高手指点  程序如下
%滑动平均法消除趋势项
clear
clc
close all hidden
fni=input('输入数据文件名称','s');
fid=fopen(fni,'r')
sf=fscanf(fid,'%f',1);     %读入采样频率值
l=fscanf(fid,'%d',1);      %读入滑动阶次
m=fscanf(fid,'%d',1);      %读入平滑次数
fno=fscanf(fid,'%d',1);    %读入输出数据文件名
x=fscanf(fid,'%f',inf);    %读入时程数据存成列向量
status=fclose(fid);
n=length(x);
t=(0:1/sf : (n-1)/sf);
b=ones(1,l);
a=[b*x(1),x,b*x(n)];
b=a;
for k=1:m
    for j=l+1:n-1
        b(j)=mean(a(j-1:j+1));
    end
    a=b;
end
y=x(1:n)-a(l+1:n+l);
plot(t,x,':',t,y,t,a(l+1:n+l),'-.');
xlabel('时间(s)');
ylabel('位移 mm');
legend('输入','输出','趋势');
grid on;
fid=fopen(fno,'w');
for k=1:n
   fprintf(fid,'%f%f\n',t(k),y(k));
end
status=fclose(fid);

[ Last edited by heio on 2012-8-9 at 10:29 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢参与 2012-08-09 18:11:02
没数据很难说。
a=[b*x(1),x,b*x(n)];
x是列向量,b是行向量,放一起组成a错了,可改成
a=[b*x(1),x‘,b*x(n)];

改之后
y=x(1:n)-a(l+1:n+l);
以及画图那句都要变下横竖。

» 本帖已获得的红花(最新10朵)

showmethemoney
2楼2012-08-09 10:51:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

heio

金虫 (小有名气)

送鲜花一朵
引用回帖:
2楼: Originally posted by csgt0 at 2012-08-09 10:51:34
没数据很难说。
a=;
x是列向量,b是行向量,放一起组成a错了,可改成
a=;

改之后
y=x(1:n)-a(l+1:n+l);
以及画图那句都要变下横竖。

没看太懂  能不能加个扣扣 聊
3楼2012-08-09 12:32:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小新爱小白

金虫 (小有名气)

Function [eval]=targetalloc (chrom)
[m,n]=size(chrom);
p=[87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;62 87 70 22 80 42 43 90 13 95 18 19 12 61 35;48 20 42 16 43 58 69 03 34 72 15 24 29 30 75];
w=[47 97 76 62 48 77 33 74 54 65 43 35 63 66 57];
for i=1:m
for j=1:15
chrom(i,j)=p(chrom(i,j),j);
end;
end
eval=chrom*w';
NIND=40;
MAXGEN=50;
GGAP=0.9;
trace=zeros(MAXGEN,2);
BaseV=crtbase(15,8);
Chrom=crtbp(NIND,BaseV)+ones(NIND,15);
gen=0;
ObjV=taretalloc(Chrom);
while gen FitnV=ranking(-ObjV);
SelCh=select('sus',Chrom,FitnV,GGAP);
SelCh=recombin('xovsp',SelCh,0.7);
f=rep([1;8],[1,15]);
SelCh=mutbga(SelCh,f);SelCh=fix(SelCh);
ObjVSel=taretalloc(SelCh);
[Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);
gen=gen+1;
trace(gen,1)=max(ObjV);
trace(gen,2)=sum(ObjV)/length(ObjV);
end
[Y,I]=max(ObjV);Chrom(I,,Y
plot(trace(:,1),'-.');hold on;
plot(trace(:,2));grid
Legend('解的变化','种群均值的变化')
这个程序有什么问题,怎么总是提示错误,也运行不了呢?或者请指教怎么在Matlab 7.7.0(R2008b)里边具体步骤。
O(∩_∩)O谢谢
天天开心,事事顺利
4楼2012-08-11 20:08:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小新爱小白

金虫 (小有名气)

引用回帖:
2楼: Originally posted by csgt0 at 2012-08-09 10:51:34
没数据很难说。
a=;
x是列向量,b是行向量,放一起组成a错了,可改成
a=;

改之后
y=x(1:n)-a(l+1:n+l);
以及画图那句都要变下横竖。

Function [eval]=targetalloc (chrom)
[m,n]=size(chrom);
p=[87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;62 87 70 22 80 42 43 90 13 95 18 19 12 61 35;48 20 42 16 43 58 69 03 34 72 15 24 29 30 75];
w=[47 97 76 62 48 77 33 74 54 65 43 35 63 66 57];
for i=1:m
for j=1:15
chrom(i,j)=p(chrom(i,j),j);
end;
end
eval=chrom*w';
NIND=40;
MAXGEN=50;
GGAP=0.9;
trace=zeros(MAXGEN,2);
BaseV=crtbase(15,8);
Chrom=crtbp(NIND,BaseV)+ones(NIND,15);
gen=0;
ObjV=taretalloc(Chrom);
while gen FitnV=ranking(-ObjV);
SelCh=select('sus',Chrom,FitnV,GGAP);
SelCh=recombin('xovsp',SelCh,0.7);
f=rep([1;8],[1,15]);
SelCh=mutbga(SelCh,f);SelCh=fix(SelCh);
ObjVSel=taretalloc(SelCh);
[Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);
gen=gen+1;
trace(gen,1)=max(ObjV);
trace(gen,2)=sum(ObjV)/length(ObjV);
end
[Y,I]=max(ObjV);Chrom(I,,Y
plot(trace(:,1),'-.');hold on;
plot(trace(:,2));grid
Legend('解的变化','种群均值的变化')
这个程序有什么问题,怎么总是提示错误,也运行不了呢?或者请指教怎么在Matlab 7.7.0(R2008b)里边具体步骤。
O(∩_∩)O谢谢
天天开心,事事顺利
5楼2012-08-11 20:08:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 heio 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] [复试调剂]西南科技大学国防/材料导师推荐 +3 尖角小荷 2026-03-16 6/300 2026-03-16 23:21 by 尖角小荷
[考研] 328求调剂,英语六级551,有科研经历 +3 生物工程调剂 2026-03-16 4/200 2026-03-16 20:13 by Wangjingyue
[考研] 环境工程调剂 +6 大可digkids 2026-03-16 6/300 2026-03-16 17:16 by barlinike
[考研] 304求调剂 +5 素年祭语 2026-03-15 5/250 2026-03-16 17:00 by 我的船我的海
[考研] 070300化学学硕求调剂 +6 太想进步了0608 2026-03-16 6/300 2026-03-16 16:13 by kykm678
[考研] 283求调剂 +10 小楼。 2026-03-12 14/700 2026-03-16 16:08 by 13811244083
[考研] 中科院材料273求调剂 +4 yzydy 2026-03-15 4/200 2026-03-16 15:59 by Gaodh_82
[考研] 070303一志愿西北大学学硕310找调剂 +5 d如愿上岸 2026-03-12 8/400 2026-03-16 15:19 by peike
[考研] 309求调剂 +5 花与叶@ 2026-03-10 5/250 2026-03-16 14:13 by 哦哦123
[考研] 中科大材料与化工319求调剂 +3 孟鑫材料 2026-03-14 3/150 2026-03-14 20:10 by ms629
[考研] 材料与化工 323 英一+数二+物化,一志愿:哈工大 本人本科双一流 +4 自由的_飞翔 2026-03-13 5/250 2026-03-14 19:39 by hmn_wj
[考研] 复试调剂 +3 呼呼?~+123456 2026-03-14 3/150 2026-03-14 16:53 by WTUChen
[考研] 【0703化学调剂】-一志愿华中师范大学-六级475 +5 Becho359 2026-03-11 5/250 2026-03-14 11:35 by 哦哦123
[考研] 求调剂,一志愿江南大学环境工程085701 +3 Djdjj12 2026-03-10 4/200 2026-03-14 00:31 by JourneyLucky
[考研] 0703化学调剂 +4 快乐的香蕉 2026-03-11 4/200 2026-03-13 22:41 by JourneyLucky
[考研] 304求调剂 +7 7712b 2026-03-13 7/350 2026-03-13 21:42 by peike
[考研] 四川大学085601材料工程专硕 初试294求调剂 +4 祝我们好在冬天 2026-03-11 4/200 2026-03-13 21:39 by peike
[考研] 求调剂 +7 18880831720 2026-03-11 7/350 2026-03-13 16:10 by JourneyLucky
[考研] 0856化工原理 +6 z2839474511 2026-03-10 6/300 2026-03-13 10:41 by houyaoxu
[考研] 08食品或轻工求调剂,本科发表3篇sci一区top论文,一志愿南师大食品科学与工程 +3 我是一个兵, 2026-03-10 3/150 2026-03-13 10:21 by Yuyi.
信息提示
请填处理意见