當前位置:
首頁 >
转载:matlab 字符串和变量名互换
發布時間:2025/3/15
69
豆豆
生活随笔
收集整理的這篇文章主要介紹了
转载:matlab 字符串和变量名互换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原創文章,歡迎轉載。轉載請注明:轉載自 祥的博客
原文鏈接:https://blog.csdn.net/humanking7/article/details/80628757
1. 問題引出 2 情況1: 用字符串作為變量名-eval() 3. 情況2: 變量名轉化為字符串-inputname()由于Matlab的m語言是解釋性語言,所以可以在代碼運行過程中用字符串做為變量名。有時候我們需要知道變量在程序中的名字,就是將變量名轉化為字符串。
2 情況1: 用字符串作為變量名-eval()
用eval()函數可以輕松搞定:
str_var = 'varNumber'; eval( [str_var, '= 10']);運行后可以看到工作空間多了一個名叫varNumber的變量,值為10。
eval()的作用解釋起來就是:運行了在Matlab中運行了 [str_var, ‘= 10’] 這段代碼,即就是:varNumber = 10。
3. 情況2: 變量名轉化為字符串-inputname()
這需要自己寫一個函數getVarName(),該函數的輸入為要被轉化的變量,輸出為一個字符串,即就是該變量的變量名。
函數代碼( getVarName.m文件 )
%% 將變量的變量名轉換為字符串 function [ str_varName ] = getVarName( var )str_varName = sprintf('%s', inputname(1));end測試代碼:
numberA = 123; str_varName = getVarName(numberA); disp(['變量的名字為: ' ,str_varName]) class(str_varName)Matlab里面對其進行了解釋,這個需求雖然小眾,但還是有用的,比如我要把所有的變量和輸入打印到文件中(將變量逆向轉化為m文件,有時用m文件比mat文件更容易查詢數據的問題
)
DescriptionThis command can be used only inside the body of a function.inputname(argnum) returns the workspace variable name corresponding to the argument number argnum. If the input argument has no name (for example, if it is an expression instead of a variable), the inputname command returns the empty string (”)總結
以上是生活随笔為你收集整理的转载:matlab 字符串和变量名互换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 兆观毫米波监护仪亮相CMEF 开创养老监
- 下一篇: matlab画圆的命令_matlab画半