- 积分
- 120
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-8-5
- 最后登录
- 1970-1-1

|

楼主 |
发表于 2013-6-4 09:15:57
|
显示全部楼层
Aires 发表于 2013-5-30 22:06
不明白你要计算什么,把你的问题再描述清楚一些,贴上你的文本
你好,谢谢你,不好意思之前在外有事,回复晚了。
这是数据处理的程序:
A = xlmread('D:\MATLAB_content\time.xlsx', 'sheetA','A1:A2322');
B = xlmread('D:\MATLAB_content\flux.xlsx', 'sheetA','B1:B2322');
X = fix(A);
n = 1:2322;
Flux(1999,1) = NaN;
T(1999,1) = NaN;
D(n,1:4) = NaN;
D(:,1) = n;
D(:,2) = A;
D(:,3) = B;
D(:,4) = X;
i = 1;
j = 0;
k = 1;
C = 1998;
while i <= 2322
if D(i,4) == C
j = j+1;
i = i+1;
continue;
else
switch j
case 3
Flux(k,1) = (D(i-1,3) + D(i-2,3) + D(i-3,3));
T(k,1) = D(i-3,2);
case 2
Flux(k,1) = (D(i-1,3) + D(i-2,3));
T(k,1) = D(i-2,2);
case 1
Flux(k,1) = D(i-1,3);
T(k,1) = D(i-1,2);
otherwise
Flux(k,1) = NaN;
T(k,1) = C;
end
k = k+1;
C = C-1;
j = 0;
end
end
读取的数据,time就是1988.5;1988.10;1987.4;1987.11;1986.1等,flux就是小数值,这个倒无所谓,主要是time值,读进去后会转化为科学计数法,自动去掉了最后的零,导致我的时间月份读取出错,而转换为字符计算的话,是显示if D(i,4) == C这一步出错,所以我希望的是读进去的数据是按excel里的实数显示与参与运算,不知有什么办法?谢谢~
|
|