轉載請注明出處:【博客園-clayyjh-https://www.cnblogs.com/clayyjh/p/15121128.html】
1. 點擊Matlab主界面-新建,新建APP
2. 進入APP開發界面,分為設計界面和代碼界面
在設計界面可以直接將需要的元素拖到代碼界面,在代碼界面對元素作進一步設置
3. Matlab APP代碼界面,是一個框架,分為不可更改部分和自定義部分,包括屬性、函數、回調函數。
只需要在自定義部分進行程序編寫,不可更改部分無需操作,可以通過控件的菜單欄調整控件屬性,也可以
通過代碼的方式進行調整。
4. 可以以屬性的方式設置全局變量,以函數的函數設置自己的子函數,以回調函數實現自己程序的主題功能。
如果界面需要初始化設置,可以添加startupFcn回調函數,在此回調函數中進行界面初始化設置;在界面中
添加的控件,某些可以對其添加回調函數,在回調函數中添加功能主體程序,實現該控件的功能。
特別地,對於添加函數而言,函數的第一個輸入參數必須為app,如果沒有使用app,可以用~代替。
5. 回調函數的執行順序:假設APP存在多個回調函數,當執行回調函數1時,回調函數2如果被觸發,會首先中斷
回調函數1去執行回調函數2,當回調函數2執行完畢后回到中斷處執行回調函數1。如果在回調2未執行完畢時,
回調1再次被觸發時,會立即執行回調1,且回調1執行完畢不會再執行回調2。
附件:
1. Matlab幫助文檔:https://ww2.mathworks.cn/help/index.html
2. csdn博客:https://blog.csdn.net/slandarer/article/details/107567541
3. APP開發經驗:
1. 假設APP存在多個回調函數,當執行回調函數1時,回調函數2如果被觸發,會首先中斷
回調函數1去執行回調函數2,當回調函數2執行完畢后回到中斷處執行回調函數1。如果在回調2未執行完畢時,回調1 再次被觸發時,會立即執行回調1,且回調1執行完畢不會再執行回調2
2. 回調函數中寫死循環時,需要加延時或者其他語句,否則,系統會陷入死循環,不能執行其他回調函數。 3. 每一個while循環,如果在某種條件下會什么都不執行直接循環,都需要加一個延時 4. Button僅僅是個Button,State是0和1數值屬性的 .Value 5. 對於return而言,出現在子函數中,執行到return時為子函數執行完畢,返回到主文件中,繼續執行之后的 語句;若出現在主文件中,執行到return時為主函數執行完畢;出現在APP中的回調函數中,為退出此回調函數, 回調函數可以理解為子函數的概念。 6. 對於plot而言,需要在每次plot之后重新規定當前坐標區域,不過也可以采用hold on的方法使得在初始時設置一次 坐標區域即可;對於animatedline而言只需要在初始時規定坐標區域。 7. 生成圖用figure(n);生成坐標區用axes(n)。 8. xticks xlim plot animatedline的第一個參數均可是坐標區域對象。 9. Animatedline需要固定坐標軸才有動畫效果
