matlab 全局變量(global)數據類型報錯問題

今天我在做matlab的GUI界面時,其中涉及到定義一個全局的元胞變量(cell)。將其摘錄下來如下:

clc;clear all
global a
s1='1';s2=123;s3='a';
a(1,1:3)={s1,s2,s3}

然後出現錯誤:從 cell 轉換爲 double 時出現以下錯誤:錯誤使用 double無法從 cell 轉換爲 double。圖如下:
在這裏插入圖片描述
由於在網上沒有找到很直接的回答,因此感覺有必要發一下我的解決方案。通過查看a的數據類型:

clc;clear all
global a
class(a)

可知a的數據類型double,也就是在matlab中默認global變量的數據類型的浮點型,因此一種解決方法,爲先將變量a轉變爲cell型,結果如下:

clc;clear all
global a
a=num2cell(a)
s1='1';s2=123;s3='a';
a(1,1:3)={s1,s2,s3}

這樣就可以正常運行了!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章