| 查看: 737 | 回复: 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 ] |
» 猜你喜欢
之前让一硕士生水了7个发明专利,现在这7个获批发明专利的维护费可从哪儿支出哈?
已经有3人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有12人回复
博士读完未来一定会好吗
已经有27人回复
投稿精细化工
已经有4人回复
高职单位投计算机相关的北核或SCI四区期刊推荐,求支招!
已经有4人回复
导师想让我从独立一作变成了共一第一
已经有9人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复

2楼2012-08-09 10:51:34
heio
金虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1363.9
- 散金: 41
- 帖子: 167
- 在线: 66.1小时
- 虫号: 1334666
- 注册: 2011-06-30
- 性别: GG
- 专业: 光学
3楼2012-08-09 12:32:10
小新爱小白
金虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1365.5
- 红花: 1
- 帖子: 80
- 在线: 51.8小时
- 虫号: 1919956
- 注册: 2012-08-01
- 性别: GG
- 专业: 工程管理
|
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 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, ,Yplot(trace(:,1),'-.');hold on; plot(trace(:,2));grid Legend('解的变化','种群均值的变化') 这个程序有什么问题,怎么总是提示错误,也运行不了呢?或者请指教怎么在Matlab 7.7.0(R2008b)里边具体步骤。 O(∩_∩)O谢谢 |

4楼2012-08-11 20:08:25
小新爱小白
金虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1365.5
- 红花: 1
- 帖子: 80
- 在线: 51.8小时
- 虫号: 1919956
- 注册: 2012-08-01
- 性别: GG
- 专业: 工程管理
|
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 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, ,Yplot(trace(:,1),'-.');hold on; plot(trace(:,2));grid Legend('解的变化','种群均值的变化') 这个程序有什么问题,怎么总是提示错误,也运行不了呢?或者请指教怎么在Matlab 7.7.0(R2008b)里边具体步骤。 O(∩_∩)O谢谢 |

5楼2012-08-11 20:08:42












回复此楼
heio
,Y