-1
我想使用連續分數來進行數字水印。我需要使用連續分數的概念來評估一個數字。 任何人都可以提供持續分數的matlab代碼?連續分數的Matlab代碼
我想使用連續分數來進行數字水印。我需要使用連續分數的概念來評估一個數字。 任何人都可以提供持續分數的matlab代碼?連續分數的Matlab代碼
可以使用rat
功能:
>> rat(0.23)
ans =
0 + 1/(4 + 1/(3 + 1/(-8)))
這個函數的輸出是一個字符串。如果你想解析這個輸出,你可以參考this topic。
編輯:
如果你想在所產生的擴張只有正數,那麼你可以通過編輯rat.m(edit rat.m
)實現這一目標。見this topic。
基本上,您需要將rat.m的第100行從d = round(x)
更改爲d = floor(x)
。如果你不想改變Matlab的源代碼,你可以在某處保存一個新的rat.m的副本,甚至可以根據需要更改該函數的名稱。
與修改後的大鼠功能:
>> rat(0.23)
ans =
0 + 1/(4 + 1/(2 + 1/(1 + 1/(7))))
佛山市南海新力:請注意,您可以用'eval'得到這個表達式的結果。不知道'老鼠'... +1 :) –
但老鼠給我的負面價值,我不想。如何避免? – Sanik
添加了一個可能的修復方法以獲取正值。 –