| 查看: 1123 | 回复: 12 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
如何算第四、五列
|
||
|
94372.000 74670.000 0.000 1491.000 1491.000 94372.000 74670.000 50.000 1493.000 1496.000 94372.000 74670.000 100.000 1494.000 1793.000 94372.000 74670.000 150.000 1497.000 1792.000 94372.000 74670.000 200.000 1491.000 1795.000 94372.000 74670.000 250.000 1497.000 1793.000 94372.000 74670.000 300.000 1496.000 1794.000 55688.500 65415.340 0.000 1571.000 1553.000 55688.555 65415.340 50.000 1573.000 1553.000 55688.555 65415.340 100.000 1574.000 1763.000 55688.555 65415.340 150.000 1577.000 1773.000 55688.555 65415.340 200.000 1571.000 1763.000 55688.555 65415.340 250.000 1577.000 1776.000 55688.555 65415.340 300.000 1576.000 1774.000 81677.912 81412.098 0.000 1571.000 1553.000 81677.912 81412.098 50.000 1573.000 1553.000 81677.912 81412.098 100.000 1574.000 1763.000 81677.912 81412.098 150.000 1577.000 1773.000 81677.912 81412.098 200.000 1571.000 1763.000 81677.912 81412.098 250.000 1577.000 1776.000 81677.912 81412.098 300.000 1576.000 1774.000 . . . 一个数据文件“A.txt” 一共有五列,几千行。所有数据每7行为一组,即(1-7行)具有相同的第一列,第二列。 (8-14行)具有相同的第一列,第二列。。。。 第三列从0以50递增直到第7行的300。然后从第8行的0 增加到第14行300 。。。 第四列和第五列是两个实验值(无规律)。 我想通过matlab运算 输出一个文件“B.txt”,他的格式如下: 第一列二列,三列不变, 第四列的计算公式如下 第五列数据 【第四列第n行记做" B(n,4)" 】 B(1,4)=A(1,4) B(1,5)=A(1,4)/A(1,5) B(2,4)=[50*A(2,4)+ 0*B(1,4)]/50 B(2,5)=A(2,4)/A(2,5) B(3,4)=[50*A(3,4)+ 50*B(2,4)]/100 B(3,5)=A(3,4)/A(3,5) B(4,4)=[50*A(4,4)+100*B(3,4)]/150 。 B(5,4)=[50*A(5,4)+150*B(4,4)]/200 。 B(6,4)=[50*A(6,4)+200*B(5,4)]/250 。 B(7,4)=[50*A(7,4)+250*B(6,4)]/300 。 B(8,4)= A(8,4) 。 B(9,4)= [50*A(9,4)+ 0*B(8,4)]/50 B(10,4)=[50*A(10,4)+ 50*B(9,4)]/100 B(11,4)=[50*A(11,4)+100*B(10,4)]/150 B(12,4)=[50*A(12,4)+150*B(11,4)]/200 B(13,4)=[50*A(13,4)+200*B(12,4)]/250 B(14,4)=[50*A(14,4)+250*B(13,4)]/300 B(15,4)= A(15,4) 。 。 。 以此类题 其中第五列数据,判断的第n行数据B(n,5)是否介于0.7-1.6之间, 如果是则输出实际值。 如果 B(n,5)<0.7,那么 B(n,5)=A(n,5)/4+0.525, 如果B(n,5)>1.6,那么B(n,5)=, A(n,5)/4+1.2 最后输出 “ B.txt ” clc; clear; dat=dlmread('D:\A.dat'); filename='D:\B.txt'; fp = fopen(filename,'w'); [M,N]=size(dat); for i=1:M if dat(i,3)=0 dat(1,4)= dat(1,4) else ???? fprintf(fp,'%20.2f %20.2f %20.2f %20.2f %20.2f \n',dat(i,1),dat(i,2),dat(i,3),dat(i,4),dat(i,5)); end end end fclose(fp); 第四列和第五列我不知道该怎么办了,请大家帮忙给看看,谢谢 [ Last edited by woqunina on 2011-11-30 at 21:24 ] |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
有机合成以后会不会被AI改变?做科研的虫友怎么看
已经有6人回复
上海工程技术大学 激光智能制造课题组 2027级博士研究生招生
已经有4人回复
现代”学阀”该如何界定
已经有12人回复
国社科系统bug了,是不是要放榜了?
已经有10人回复
课题组招2027级博士 上海工程技术大学 激光智能制造方向
已经有4人回复
我的奶奶
已经有3人回复
wangyuewu08
木虫 (著名写手)
- 应助: 13 (小学生)
- 金币: 2794
- 红花: 4
- 帖子: 1141
- 在线: 279.1小时
- 虫号: 1290073
- 注册: 2011-05-09
- 性别: GG
- 专业: 制造系统与自动化

12楼2011-12-05 12:43:15
wangyuewu08
木虫 (著名写手)
- 应助: 13 (小学生)
- 金币: 2794
- 红花: 4
- 帖子: 1141
- 在线: 279.1小时
- 虫号: 1290073
- 注册: 2011-05-09
- 性别: GG
- 专业: 制造系统与自动化
【答案】应助回帖
★ ★
xiegangmai(金币+2): 谢谢应助! 2011-12-04 18:58:41
xiegangmai(金币+2): 谢谢应助! 2011-12-04 18:58:41
|
我不知道怎么在回帖中粘贴代码,就直接复制过来了 a表示A,b表示B,建议楼主少用大写字母,大写字母一般都是留给外部变量使用的。我不是很清除格式化输出,感觉楼主比我更了解 clc clear a = dlmread('D:\A.dat'); filename='D:\B.txt'; fp = fopen(filename,'w'); [m, n]=size( a ); b = data; %因为有三列值不用改变,可以将原始数据直接赋给b for i = 1 : 7 : m if dat(i, 3) <= 10^(-5) b( i, 4 ) = a( i, 4 ); b( i+1, 4 ) = ( 50 * a( i+1, 4 ) + 0 * b( i, 4 ) ) / 50; b( i+2, 4 ) = ( 50 * a( i+2, 4 ) + 50 * b( i+1, 4 ) ) / 50; b( i+3, 4 ) = ( 50 * a( i+3, 4 ) + 100 * b( i+2, 4 ) ) / 50; b( i+4, 4 ) = ( 50 * a( i+4, 4 ) + 150 * b( i+3, 4 ) ) / 50; b( i+5, 4 ) = ( 50 * a( i+5, 4 ) + 200 * b( i+4, 4 ) ) / 50; b( i+6, 4 ) = ( 50 * a( i+6, 4 ) + 250 * b( i+5, 4 ) ) / 50; b( i, 5 ) = a( 1, 4 ) / a( 1, 5 ); b( i+1, 5 ) = a( i+1, 4 ) / a( i+1, 5 ); b( i+2, 5 ) = a( i+2, 4 ) / a( i+2, 5 ); b( i+3, 5 ) = a( i+3, 4 ) / a( i+3, 5 ); b( i+4, 5 ) = a( i+4, 4 ) / a( i+4, 5 ); b( i+5, 5 ) = a( i+5, 4 ) / a( i+5, 5 ); b( i+6, 5 ) = a( i+6, 4 ) / a( i+6, 5 ); end end % 判断B( n ,5 ) for i = 1 : m if b( i, 5 ) < 0.7 b( i, 5 ) = a( i, 5 ) / 4 + 0.525; else b( i, 5 ) > 1.6 b( i, 5 ) = a( i, 5 ) / 4 + 1.2; end end |

3楼2011-12-03 20:57:03
wangyuewu08
木虫 (著名写手)
- 应助: 13 (小学生)
- 金币: 2794
- 红花: 4
- 帖子: 1141
- 在线: 279.1小时
- 虫号: 1290073
- 注册: 2011-05-09
- 性别: GG
- 专业: 制造系统与自动化

4楼2011-12-04 12:12:44
5楼2011-12-04 17:53:22










回复此楼
woqunina