最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【MATLAB App Designer】關(guān)于確認app中是否存在某變量時出錯的問題分析與改進(isfie

2021-10-11 10:42 作者:-何其-  | 我要投稿

背景

? ?已經(jīng)聲明了inData,然后在inData的基礎(chǔ)上采用struct結(jié)構(gòu)進行賦值,用于存儲變量,如app.inData.SensorsData,

app.inData.SensorsData包含的內(nèi)容

需求

? ?app變量已經(jīng)確認存在,現(xiàn)在程序運行需要確認app.inData.SensorsData是否存在,如果不存在將對該變量重新賦值,

之前一直是采用“isfield( app , 'inData' )? ==? 1 && isfield( app.inData , 'SensorsData' )? == 1”來進行判斷,現(xiàn)在發(fā)現(xiàn)這樣的寫法有問題;

? ?在app.inData.SensorsData存在的情況下,采用*.mlapp返回的結(jié)果是false,而采用*.m編寫的則返回true


*.mlapp返回的結(jié)果是false

原因分析

? ?在*.m也就是腳本中,app.inData 是結(jié)構(gòu)體(struct),但在*.mlapp中為非機構(gòu)體,故isfield失效,如下圖:

*.mlapp中為非strut體

*.mlapp中對app采用isfield無效

? ?具體原因不清楚,所以對于判斷條件“isfield(app,'inData') == 1 && isfield( app.inData , 'SensorsData') == 1”已經(jīng)不適用了,需要進一步改進

app.inData這里設(shè)定為結(jié)構(gòu)體

改進方式

? ?通過測試,fieldnames 函數(shù)在非結(jié)構(gòu)體的app中仍適用,如下圖:

fieldnames運算效果

? ?故判斷inData是否存在的函數(shù)可以改寫為如下:

fieldnames

總結(jié)

? ?采用“max( ismember( fieldnames( app ) , 'inData' ) )? && isfield( app.inData , 'SensorsData' )? ==? 1”即可完成優(yōu)化

優(yōu)化效果


【MATLAB App Designer】關(guān)于確認app中是否存在某變量時出錯的問題分析與改進(isfie的評論 (共 條)

分享到微博請遵守國家法律
勐海县| 内黄县| 青岛市| 花垣县| 湖口县| 镇雄县| 屯留县| 荆门市| 乌苏市| 寿阳县| 商丘市| 华亭县| 岳普湖县| 汶上县| 永仁县| 永平县| 茶陵县| 毕节市| 丽江市| 广南县| 北海市| 南川市| 武隆县| 双峰县| 耒阳市| 泽州县| 电白县| 镇赉县| 阿尔山市| 乡宁县| 恭城| 雅江县| 尉氏县| 香河县| 墨玉县| 宝兴县| 桓台县| 曲松县| 曲周县| 武胜县| 深水埗区|