2012-12-19 21 views
4

我希望有人能幫助我。Mathematica:我如何建模RC,並從CSV獲取R和C值

我有一個帶有電壓響應和當前步長值的CSV文件。我必須在mathematica中創建一個RC模型並找到R和C值。

如何在mathematica中建模RC並從CSV文件中的值中提取參數?

我這樣做:

Data=Import["T:/file.csv","CSV"]; 

我的數據有一個頭和2列。用於電壓響應的電流和列的列。

Voltage=data[[35;;,1]];Current=data[[35;;,2]]; 

我的文件有一個標題,這就是爲什麼我寫35放置標題。 Hier ist my Current step Hier ist my Voltage Response

所以,現在我有平行電阻電容和串行的RC模型與其他電阻 My RC Model

Z= Ri+Rt//Ct --> complex Form (Ri+Rt/1+jwR2Ct) 

我在數學模型的樣子:

OutputResponse[StateSpaceModel[TransferFunction[{{Ri+Rt+sRt}/{1+sRt}},s,SamplingPeriod->0.1,SystemsModelLabels->None]],current]; 

如何從電壓響應中提取Ri Rt和Ct,將它們置於我的傳遞函數中以獲得與其相同的電壓響應看起來像圖片2

+1

你可以上傳你的數據的地方,並給出一個鏈接? –

+0

我現在編輯我的帖子:-) –

+0

你可能會在http://mathematica.stackexchange.com得到更好的回覆。 –

回答

0

我不知道我完全理解你的問題。
是否如下所示:您的CSV數據文件中包含變量值RiRtCt的值表,您希望將這些值插入公式中?

如果是這樣的話,你可以先定義一個函數

response[Ri_ , Rt_, Ct_] := OutputResponse[... (as above) 

然後假設你Data是在2列1的值的表,和3(您可能需要採用這個) 。

,那麼你可以:

Map[Function[r, response[r[[1]], r[[2]], r[[3]]], Data] 

爲了得到結果的表。