1. 程式人生 > >matlab GUI總結

matlab GUI總結


1)建立GUI介面方法:
    1.命令列鍵入:
    guide
 回車,新建空白圖形介面,拖動需要工具進行佈局。
    2.直接新建. m檔案 。這種方法整個框架都要自己寫。2)常用命令
movegui(gcf,'center');%使生成的介面每次跳出時位於螢幕正中。   
clc;%清除命令列  
cla;%清除圖形  
顯示圖形:(一般圖形)
A=imread('圖形名稱.jpg'); %或者其他png/jpeg等格式圖形,若圖形與程式碼不在一個資料夾時需要加具體路徑,如F:a/b/圖形名稱.jpg  
imshow(A);%顯示圖形 
顯示gif:
[A,map]=imread('圖片名稱.gif', 'frames', 'all');
axes(handles.axes9);%放入指定位置 
for i=1:size(A,4)
 imshow(A(:,:,:,i),map);
pause(0.1);
end

顯示透明圖:
[I,map,alpha] = imread('圖片名稱.png');  
h = imshow(I);  
set(h,'AlphaData',alpha);  

獲取GUI輸入文字框的值:
get(handles.edit1,'String');  
賦值獲取到的值到所需變數:
fs=(str2num(get(handles.edit4,'String')));%str2num()將字元值和數字變數相互轉換。  
獲取表格中某一格的值:
table_data=get(handles.uitable1,'data');  
type=table_data{1,1};%將表格第一行第一列的值賦給type;  
清除指定位置的圖形:
cla(handles.axes1);

或者:
cla(handles.axes1,'reset'); 

 給可輸入文字框限定型別:
function edit1_Callback(hObject, eventdata, handles)
str=get(handles.edit1,'String');
str1=str2num(str);
if isempty(str1) 
errordlg('You must entry a number value','Bad Input','modal') %跳出一個對話方塊,提示只能輸入數字
end


畫圖:
plot(x,y,'r-.','LineWidth',3);%線條顏色為red,為-.線,線寬3;
 xlim([0 0.3]);%設定x軸範圍為0-0.3;若需要xy同時設定可使用:axis([0 1e2 0 2e3]);
xlabel('f(Hz)');ylabel('PSD(dB)');%設定x/y軸標註 
legend('1','2');%若有多條線,則可以給每條線進行標註 


如果要一個figure畫多個圖,可用:
subplot(2,1,1);%將一個figure分割為兩行一列  


GUI中,若有不同的圖需要同時顯示,可以設定多個axes,和多個panel;
如果不確定畫多少條線,又需要給每條線顯示不同顏色和標註,可以選擇:
c=colormap(jet(Num));  %Num為線條數量,colormap為matlab中的函式,隨機產生不同顏色   
for i=1:Num   
plot(x,y,'color',c(i,:),'LineWidth',1);hold on;%畫Num條曲線,每次不同資料和顏色。
str{i}=char(['第',num2str(i),'條']); 
end
legend(str);