1.excel中几行数据 突然没有了 如
2.c#如何获取Excel指定多列的值
3.利用excel进行傅里叶分析做出了数据的频谱图后,怎么对频谱图进行分析
4.excelå®ç°MD5å å¯
excel中几行数据 突然没有了 如
你全选一下试试···
系统资源不足,不要同时打开多个数据量大的excel,尤其是带公式的可以的话增加电脑内存,并把虚拟内存加大虚拟内存如何加大?在桌面,用右键点"我的电脑"-"属性"-"高级"-性能所对应的"设置"-"高级"-"更改"-"自定义大小"那里填写虚拟内存大小,我的电脑是填,改完再点一下"设置",然后重启电脑,OK
c#如何获取Excel指定多列的值
直接读取Excel啊。
网上有很多的代码。
大概代码可以如下:
string connString = "Driver={ Driver do Microsoft Excel(*.xls)};DriverId=;SafeTransactions=0;ReadOnly=1;MaxScanRows=;Threads=3;MaxBufferSize=;UserCommitSync=Yes;FIL=excel 8.0;PageTimeout=5;";
connString += "DBQ=" + this.txtEmailList.Text.Trim();
OdbcConnection conn = new OdbcConnection(connString);
OdbcCommand cmd = new OdbcCommand();
cmd.Connection = conn;
string sql = "select * from [Sheet1$]";
cmd.CommandText = sql;
OdbcDataAdapter da = new OdbcDataAdapter(cmd);
DataSet ds = new DataSet();
StringBuilder sb = new StringBuilder();
da.Fill(ds);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
strEmail = ds.Tables[0].Rows[i]["次数"].ToString().Trim();
}
希望楼主早日解决问题。。。afn源码。
利用excel进行傅里叶分析做出了数据的频谱图后,怎么对频谱图进行分析
1.EXCEL分析工具库中内置了分析工具“傅利叶分析”,其功能是进行离散型快速傅利叶变换(FFT),也可进行傅利叶逆变换。
2.傅利叶变换是将时间序列数据转换为频率序列数据,以便了解序列的兼职单页源码频率构成。
对于时间序列可展开为傅利叶级数:
式中:
N为观测值个数;k为周期分量个数;fj为频率(=j/N)
εt为误差项,是由于选取级数前k项所产生的。
时间域序列xk变换到频率域序列ωj的公式如下:
式中:N为序列数据项数,对第j个分量:
aj为实部,bj为虚部,模 ,辐角
3.所关心的是序列主要由哪些频率成份构成及其振幅。操作方法如下:
Step1.取得时间序列数据{ xk},要求项数N为2的整数次幂,即2、4、8、水果商城源码java、…,项数最大限制为。N选择多大为好,要视频谱分析时要分析的项数。N个数据中,最多能分析N/2+1个频率构成。
Step2.时间序列{ xk}各项减其平均数E(xk)得中心化时间序列;
Step3.利用“傅利叶分析”工具进行快速傅利叶变换,得ωj;
Step4.利用IMABS()函数求得复数的模。该序列第1项为0,去掉之,从第2项起共奇数项,死磕netty源码中间项为常数项,两侧是完全对称的。绘制折线图观察之,通常只观察前半部分;
Step5.更改横坐标,观察频率分布。
需要指出的是:数据系列的周期性,是系统的特性,并不是由采样的时间间隔和样本量的多寡所决定。
5.应用举例:何先生,在自己所从事的工作中,以每分钟等间隔抽样次,抽取了条记录,lua开源源码下图中只列出前几条:
6.以CH#1为例,从中按顺序选择样本量为的样本,编制频谱分析图如下:
Step1:先按顺序截取个样本单位的样本(必需是2的整数幂,本例为)
Step2:在C1单元格输入“=AVERAGE(B2:B)”求得平均数,在C3单元格输入公式,求得观测值与平均值之差,并向下复制到B3:B。
Step3:工具|数据分析|傅利叶分析,设置对话框如图3,求得如图2中D列的傅利叶变换。
Step4:在E2单元格输入如图2所示函数,求得D2单元格复数的模,向下复制到B3:B。将B2:B制成折线图如图。
由图可见,图形是完成对称的,通常只看前面一半。需要指明的是该频谱图是由系统特性决定的,样本量不同,其频谱是类似的,只是图形密集程度不同和模的大小不同。模是由多个周期样本模的叠加的结果,样本量越大,模越大。但这一点并不影响分析的结果,我们只考虑频率强度从大到小的有限个频率,即考虑主要频率构成。
Step5:确定横轴分类标志:
将图形的横轴先进行编号,编号从0开始,本例选择个样本单位,编号为0~,然后再用编号值除以,得到一个周期,周期的倒数即为频率。
按此方法制作了N=、N=和N=的频谱图如下:
7.由图可见,样本量越多频率构成越丰富。但分析频谱时,都集中在峰值附近,不能反映面上的情况。由图可见,模较大的频率成分周期分布在0.~0.之间,也就是频率在4~8之间,我们选择N=项进行分析完全够用。由于图形是对称的,只看前半部分,项,分析占总数约%的成份,即分析个主要频率。操作:
(1)按顺序选择项数据,并求平均数,进行中心化平均,使均值为0;
(2)利用“傅利叶分析”工具求得快速傅利叶变换;
(3)选择一半的数据(从第2项到第项)
l 利用“=IMABS(D3)”求得复数的模。
l 从第2项开始从1进行编号;以编号值除得周期序列。
l 将周期序列求倒数得频率。
l 以频率为横坐标、模为纵坐标绘制频率分布图:
(4)利用“=IMREAL”函数提取实部,用“=IMAGINARY”函数提取虚部,形成序列值。
(5)筛选主要成分。
l 在L列输入第k大的顺序号;
l 在M列输入“=LARGE($E$3:$E$,L2)”提取第k大傅利叶变换的模;
l 在N列输入:“=MATCH(M2,$E$3:$E$,0)”提取第k大的顺序号;
l 在O列输入:“=INDEX(I$3:I$,$N2)”提取第k大的实部;
l 在P列输入:“=INDEX(J$3:J$,$N2)”提取第k大的虚部;
l 在Q列输入:“=INDEX($H$3:$H$,N2)”提取第k大的频率。
于是得函数主要成分的傅利叶级数中的主成分:
excelå®ç°MD5å å¯
Private Const BITS_TO_A_BYTE = 8
Private Const BYTES_TO_A_WORD = 4
Private Const BITS_TO_A_WORD =
Private m_lOnBits()
Private m_l2Power()
Private Function LShift(lValue, iShiftBits)
If iShiftBits = 0 Then
LShift = lValue
Exit Function
ElseIf iShiftBits = Then
If lValue And 1 Then
LShift = &H
Else
LShift = 0
End If
Exit Function
ElseIf iShiftBits < 0 Or iShiftBits > Then
Err.Raise 6
End If
If (lValue And m_l2Power( - iShiftBits)) Then
LShift = ((lValue And m_lOnBits( - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H
Else
LShift = ((lValue And m_lOnBits( - iShiftBits)) * m_l2Power(iShiftBits))
End If
End Function
Private Function RShift(lValue, iShiftBits)
If iShiftBits = 0 Then
RShift = lValue
Exit Function
ElseIf iShiftBits = Then
If lValue And &H Then
RShift = 1
Else
RShift = 0
End If
Exit Function
ElseIf iShiftBits < 0 Or iShiftBits > Then
Err.Raise 6
End If
RShift = (lValue And &H7FFFFFFE) \ m_l2Power(iShiftBits)
If (lValue And &H) Then
RShift = (RShift Or (&H \ m_l2Power(iShiftBits - 1)))
End If
End Function
Private Function RotateLeft(lValue, iShiftBits)
RotateLeft = LShift(lValue, iShiftBits) Or RShift(lValue, ( - iShiftBits))
End Function
Private Function AddUnsigned(lX, lY)
Dim lX4
Dim lY4
Dim lX8
Dim lY8
Dim lResult
lX8 = lX And &H
lY8 = lY And &H
lX4 = lX And &H
lY4 = lY And &H
lResult = (lX And &H3FFFFFFF) + (lY And &H3FFFFFFF)
If lX4 And lY4 Then
lResult = lResult Xor &H Xor lX8 Xor lY8
ElseIf lX4 Or lY4 Then
If lResult And &H Then
lResult = lResult Xor &HC Xor lX8 Xor lY8
Else
lResult = lResult Xor &H Xor lX8 Xor lY8
End If
Else
lResult = lResult Xor lX8 Xor lY8
End If
AddUnsigned = lResult
End Function
Private Function md5_F(X, Y, z)
md5_F = (X And Y) Or ((Not X) And z)
End Function
Private Function md5_G(X, Y, z)
md5_G = (X And z) Or (Y And (Not z))
End Function
Private Function md5_H(X, Y, z)
md5_H = (X Xor Y Xor z)
End Function
Private Function md5_I(X, Y, z)
md5_I = (Y Xor (X Or (Not z)))
End Function
Private Sub md5_FF(a, b, c, d, X, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_F(b, c, d), X), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, b)
End Sub
Private Sub md5_GG(a, b, c, d, X, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_G(b, c, d), X), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, b)
End Sub
Private Sub md5_HH(a, b, c, d, X, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_H(b, c, d), X), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, b)
End Sub
Private Sub md5_II(a, b, c, d, X, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_I(b, c, d), X), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, b)
End Sub
Private Function ConvertToWordArray(sMessage)
Dim lMessageLength
Dim lNumberOfWords
Dim lWordArray()
Dim lBytePosition
Dim lByteCount
Dim lWordCount
Const MODULUS_BITS =
Const CONGRUENT_BITS =
lMessageLength = Len(sMessage)
lNumberOfWords = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS) \ BITS_TO_A_BYTE)) \ (MODULUS_BITS \ BITS_TO_A_BYTE)) + 1) * (MODULUS_BITS \ BITS_TO_A_WORD)
ReDim lWordArray(lNumberOfWords - 1)
lBytePosition = 0
lByteCount = 0
Do Until lByteCount >= lMessageLength
lWordCount = lByteCount \ BYTES_TO_A_WORD
lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(Asc(Mid(sMessage, lByteCount + 1, 1)), lBytePosition)
lByteCount = lByteCount + 1
Loop
lWordCount = lByteCount \ BYTES_TO_A_WORD
lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(&H, lBytePosition)
lWordArray(lNumberOfWords - 2) = LShift(lMessageLength, 3)
lWordArray(lNumberOfWords - 1) = RShift(lMessageLength, )
ConvertToWordArray = lWordArray
End Function
Private Function WordToHex(lValue)
Dim lByte
Dim lCount
For lCount = 0 To 3
lByte = RShift(lValue, lCount * BITS_TO_A_BYTE) And m_lOnBits(BITS_TO_A_BYTE - 1)
WordToHex = WordToHex & Right("0" & Hex(lByte), 2)
Next
End Function
Public Function MD5(sMessage)
m_lOnBits(0) = CLng(1)
m_lOnBits(1) = CLng(3)
m_lOnBits(2) = CLng(7)
m_lOnBits(3) = CLng()
m_lOnBits(4) = CLng()
m_lOnBits(5) = CLng()
m_lOnBits(6) = CLng()
m_lOnBits(7) = CLng()
m_lOnBits(8) = CLng()
m_lOnBits(9) = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_lOnBits() = CLng()
m_l2Power(0) = CLng(1)
m_l2Power(1) = CLng(2)
m_l2Power(2) = CLng(4)
m_l2Power(3) = CLng(8)
m_l2Power(4) = CLng()
m_l2Power(5) = CLng()
m_l2Power(6) = CLng()
m_l2Power(7) = CLng()
m_l2Power(8) = CLng()
m_l2Power(9) = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
m_l2Power() = CLng()
Dim X
Dim k
Dim AA
Dim BB
Dim CC
Dim DD
Dim a
Dim b
Dim c
Dim d
Const S = 7
Const S =
Const S =
Const S =
Const S = 5
Const S = 9
Const S =
Const S =
Const S = 4
Const S =
Const S =
Const S =
Const S = 6
Const S =
Const S =
Const S =
X = ConvertToWordArray(sMessage)
a = &H
b = &HEFCDAB
c = &HBADCFE
d = &H
For k = 0 To UBound(X) Step
AA = a
BB = b
CC = c
DD = d
md5_FF a, b, c, d, X(k + 0), S, &HDAA
md5_FF d, a, b, c, X(k + 1), S, &HE8C7B
md5_FF c, d, a, b, X(k + 2), S, &HDB
md5_FF b, c, d, a, X(k + 3), S, &HC1BDCEEE
md5_FF a, b, c, d, X(k + 4), S, &HFC0FAF
md5_FF d, a, b, c, X(k + 5), S, &HCA
md5_FF c, d, a, b, X(k + 6), S, &HA
md5_FF b, c, d, a, X(k + 7), S, &HFD
md5_FF a, b, c, d, X(k + 8), S, &HD8
md5_FF d, a, b, c, X(k + 9), S, &H8BF7AF
md5_FF c, d, a, b, X(k + ), S, &HFFFF5BB1
md5_FF b, c, d, a, X(k + ), S, &HCD7BE
md5_FF a, b, c, d, X(k + ), S, &H6B
md5_FF d, a, b, c, X(k + ), S, &HFD
md5_FF c, d, a, b, X(k + ), S, &HAE
md5_FF b, c, d, a, X(k + ), S, &HB
md5_GG a, b, c, d, X(k + 1), S, &HFE
md5_GG d, a, b, c, X(k + 6), S, &HCB
md5_GG c, d, a, b, X(k + ), S, &HE5A
md5_GG b, c, d, a, X(k + 0), S, &HE9B6C7AA
md5_GG a, b, c, d, X(k + 5), S, &HDFD
md5_GG d, a, b, c, X(k + ), S, &H
md5_GG c, d, a, b, X(k + ), S, &HD8A1E
md5_GG b, c, d, a, X(k + 4), S, &HE7D3FBC8
md5_GG a, b, c, d, X(k + 9), S, &HE1CDE6
md5_GG d, a, b, c, X(k + ), S, &HCD6
md5_GG c, d, a, b, X(k + 3), S, &HF4DD
md5_GG b, c, d, a, X(k + 8), S, &HAED
md5_GG a, b, c, d, X(k + ), S, &HA9E3E
md5_GG d, a, b, c, X(k + 2), S, &HFCEFA3F8
md5_GG c, d, a, b, X(k + 7), S, &HFD9
md5_GG b, c, d, a, X(k + ), S, &H8D2A4C8A
md5_HH a, b, c, d, X(k + 5), S, &HFFFA
md5_HH d, a, b, c, X(k + 8), S, &HF
md5_HH c, d, a, b, X(k + ), S, &H6D9D
md5_HH b, c, d, a, X(k + ), S, &HFDEC
md5_HH a, b, c, d, X(k + 1), S, &HA4BEEA
md5_HH d, a, b, c, X(k + 4), S, &H4BDECFA9
md5_HH c, d, a, b, X(k + 7), S, &HF6BB4B
md5_HH b, c, d, a, X(k + ), S, &HBEBFBC
md5_HH a, b, c, d, X(k + ), S, &HB7EC6
md5_HH d, a, b, c, X(k + 0), S, &HEAAFA
md5_HH c, d, a, b, X(k + 3), S, &HD4EF
md5_HH b, c, d, a, X(k + 6), S, &HD
md5_HH a, b, c, d, X(k + 9), S, &HD9D4D
md5_HH d, a, b, c, X(k + ), S, &HE6DBE5
md5_HH c, d, a, b, X(k + ), S, &H1FACF8
md5_HH b, c, d, a, X(k + 2), S, &HC4AC
md5_II a, b, c, d, X(k + 0), S, &HF
md5_II d, a, b, c, X(k + 7), S, &HAFF
md5_II c, d, a, b, X(k + ), S, &HABA7
md5_II b, c, d, a, X(k + 5), S, &HFCA
md5_II a, b, c, d, X(k + ), S, &HBC3
md5_II d, a, b, c, X(k + 3), S, &H8F0CCC
md5_II c, d, a, b, X(k + ), S, &HFFEFFD
md5_II b, c, d, a, X(k + 1), S, &HDD1
md5_II a, b, c, d, X(k + 8), S, &H6FAE4F
md5_II d, a, b, c, X(k + ), S, &HFE2CE6E0
md5_II c, d, a, b, X(k + 6), S, &HA
md5_II b, c, d, a, X(k + ), S, &H4EA1
md5_II a, b, c, d, X(k + 4), S, &HFE
md5_II d, a, b, c, X(k + ), S, &HBD3AF
md5_II c, d, a, b, X(k + 2), S, &H2AD7D2BB
md5_II b, c, d, a, X(k + 9), S, &HEBD
a = AddUnsigned(a, AA)
b = AddUnsigned(b, BB)
c = AddUnsigned(c, CC)
d = AddUnsigned(d, DD)
Next
MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d)) 'ä½
'MD5 = LCase(WordToHex(b) & WordToHex(c)) 'ä½
End Function
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub