2013-07-08 96 views
-1

該圖說明我的問題:需要幫助的matlab

enter image description here

(在X1計算)從值變爲ÈTZ。如果其值達到e tz它必須一次又一次地從開始。
這種情況必須在模擬過程中繼續(我需要一個循環!)。但是,t是模擬時間,我不能強迫它爲零。所以也許我需要一個平行的時間來模擬時間,但我不知道如何創建它。

回答

1

使用模運算符。

http://www.mathworks.com/help/matlab/ref/mod.html

例如:

X1 = abs((mod(t,e*tz)-e*tz/2)/(1.125*c*tz)) 

這一部分:

mod(t,e*tz) 

將> = 0和< E * TZ和會重複你想要的方式。

未來,請爲您的問題提供更好的標題。另外,提供代碼的屏幕快照並不是包含代碼的首選方式。

+0

thnx您的興趣,但模數不方便計算。因爲你知道「mod」函數直接計算除法操作的餘數。我不是在尋找餘數。我只是尋找一個函數,當** t **達到** e * tz **時,可以使** t **變爲** 0 **。 – prot

+1

@prot應用'mod'包裝't'的值,使它們小於'e * tz'。這正是你要求的。 –

+0

@Eitan T ** t **值從** 0 **開始,直到** e * tz **繼續。把它看作一個時期,這個時期必須從** 0 **開始,直到數值與** e * tz **相等。據我所知,** mod **計算除法運算的其餘部分。例如mod(21,4)給出** 1 **(計算是21/4 = 4 * 5 + ** 1 **) – prot