如果您有一個字符串(來自計算..),例如a1E¹+a2E²+a3E³
,那麼E^i=exp(i*k*τ)
是否有一種方法僅提取E^i
的術語?從計算中提取術語
Q
從計算中提取術語
0
A
回答
1
假設你的字符串被稱爲s
,它看起來像這樣:
s = 'a1 * exp(k*t) + a2 * exp(2*k*t) + a3 * exp(3 * k * t) + ...';
(我不得不推斷有點...你的問題是相當不完整)。
您可以使用表達式匹配來查找您之後的組件。首先注意+
符號只出現在術語之間;我們可以使用strtok
函數在這些點上分割它。無論a1是數字還是變量 - 只要它不是包含「+」號的表達式都沒有關係。如果它......見下文。如果你需要的第n項,你會說
remain = s;
for ii=1:n
[tok remain] = strtok(remain, '+'); % split on the '+' sign, return text after in remain
end
在這個循環結束,tok
包含表達式的第n個部分,即
an * exp(n * k * t)
現在,您在部分分開的這exp
通過搜索該字符串:
sf = strfind(tok, 'exp'); % returns the starting index of the string 'exp'
myFactor = tok(1:(sf(1)-1)); % returns the bit before 'exp'
這應該是你的答案...如果我理解你的問題。如果我不明白你的問題,這完全是胡言亂語。
聲明:沒有matlab方便運行/測試代碼;潛在的錯誤/偏移/顛倒的參數等等。應該是微不足道的修復。
附錄:如果an
術語包括+
跡象,你就必須拆就「EXP」,而不是在+
符號與字符串 - 的strfind
功能實際上將返回匹配的數組,所以
sf = strfind(mystring, 'exp');
會返回所有'exp'子串的起點數組。你可能可以從那裏拿走 - 但正如我上面所說,沒有關於你的字符串格式的更多細節,它很難給出一個通用的解決方案...
相關問題
- 1. 雲計算術語
- 2. 計算術語x術語矩陣
- 3. 從Lucene的查詢中提取術語
- 4. 從值表中計算算術回報
- 5. 從lucene查詢獲取術語計數
- 6. 算術計算
- 7. SSIS術語提取行內
- 8. 從DFA中提取語言的算法
- 9. 在wp_query中提取分類術語
- 10. 如何計算術語文檔矩陣?
- 11. 雲計算術語 - IaaS,PaaS和SaaS
- 12. 術語提取與可用術語列表
- 13. 算術語句if語句
- 14. 計數算術運算
- 15. 算術計算出錯
- 16. ASM中的算術運算語言
- 17. 提取任意度的算術根
- 18. 在bash中的算術計算
- 19. 中的R算術的計算成本
- 20. JAVA中BODMAS的算術計算
- 21. NSString的 - 基本術語提取
- 22. 使用MathNet提取常用術語Symbolics
- 23. 術語提取:Generatings標記出文本
- 24. GUI設計術語
- 25. 計算從2個獨立的行內選擇語句中提取的值
- 26. 有關計算機集羣中術語的兩個問題
- 27. 計算機科學中複用術語的含義是什麼?
- 28. Pi計算在Java中的特定數量的術語?
- 29. 如何計算文檔字段中特殊術語的頻率?
- 30. 在計算機術語中,什麼叫「非目錄」?
你會介意分享一些你的代碼嗎? – fpe
它仍然有點神祕,我想你的意思是'E^1'的術語。 – fpe
這個問題沒有意義。你是說你有一堆由a1 exp(..)+ a2 exp(..)+ ...生成的數據? – thang