Re: [问题] 请问我该用那些功能?

楼主: jurian0101 (Hysterisis)   2013-04-29 19:34:38
推 van6499:如果data变成{{1.1,2},{1.2,4},{1.3,3},{1.4,1},{1.5,5} 04/29 15:10
→ van6499:{1.6,3},{1.7,6},{1.8,4}}的话改怎么修改读取间距 04/29 15:11
→ van6499:更正{{1.2,2},{1.4,4},{1.6,3},{1.8,1},{2.0,5},{2.2,3} 04/29 15:12
→ van6499:{2.4,6},{2.6,4} 04/29 15:12
→ van6499:让读取间距变成 0.2、0.4、0.6、0.8、1.0...、1.6 04/29 15:13
→ van6499:的话该怎么改? 04/29 15:13
这边响起警铃,虽然你没明说,但若是原始资料{x,y}对比较散乱不是等距分布的话
怎么办? 我试用这个较一般化的方法
data= {{1.1,2},{1.2,4},{1.3,3},{1.4,1},{1.5,5},{1.6,3},{1.7,6},{1.8,4}}
fetch[间距_]:= ReplaceList[data,
{___, {x1_,y1_}, ___, {x2_,y2_}, ___} /; x2 - x1 == 间距 :> {y1, y2}]
(*
取间距=h的两笔资料。该语法的意思是 ReplaceList[data, pattern],它会比对出
data里所有符合pattern(红色部分)的可能性,由 /; 运算子代入黄色逻辑运算
,若相符,逻辑值为真则依照箭号:>后面青色部分来输出。
有点儿进阶抱歉XD *)
vario[间距_] := Mean[(#1 - #2)^2 & @@@ fetch[间距]]
- - -
如果测资的X没照顺序排,得先用个SortBy使它排好,假设
rawdata= {{1.3, 4}, {2., 9}, {1.2, 6}, {2., 8}, {1.5, 6}, {1.7, 5}, {0.5,
9}, {0.7, 7}, {1.4, 4}, {1.6, 3}}
data= SortBy[rawdata, Frist]
fetch[] 与 vario[] 不需改
例如vario[0.2]=14/5 vario[0.3]=27/5
试试看
作者: van6499 (KIDD)   2013-04-29 15:10:00
如果data变成{{1.1,2},{1.2,4},{1.3,3},{1.4,1},{1.5,5}{1.6,3},{1.7,6},{1.8,4}}的话改怎么修改读取间距更正{{1.2,2},{1.4,4},{1.6,3},{1.8,1},{2.0,5},{2.2,3}{2.4,6},{2.6,4}让读取间距变成 0.2、0.4、0.6、0.8、1.0...、1.6的话该怎么改?
作者: sunev (Veritas)   2013-04-29 19:38:00
说只有mathematica做得到有点怪怪的。

Links booklink

Contact Us: admin [ a t ] ucptt.com