1. 程式人生 > >4.matlab-gui

4.matlab-gui

1.    Set函式

       set(handles.popupmenu1,'string',sample);

       set(handles.popupmenu1,'value',[1]);

       %‘popupmenu1’為下拉選單tag的值,設定下拉選單的選項值為sample字元             串;'value'值設為1,即下拉選單第一項,否則重新修改popupmenu1的下拉選項值       時,容易出現無法渲染的問題。

      set(handles.text4,'string','靜態壓縮資料處理');

     %設定靜態文字text4(tag值)的'string'值為'靜態壓縮資料處理'

      set(handles.uipanel1,'parent',gcf);

     %修改面板的父子關係為並列關係,從而實現修改一個面板不會影響其附屬的面板。

      set(handles.menu1,'visible','off')  %隱藏選單menu1,'off'為隱藏,'on'為顯示

     set(handles.uitable1,'data',[]);   %設定表格uitable1的資料值為空

     set(handles.edit3,'string',[]);  %設定可編輯文字edit3的值為空

2. Get函式

    A=get(handles.edit1,'string')  %獲得可編輯文字edit1的'string'值賦予A

3. Strcmp函   %strcmp(a,b);對比字串a和b,如果相同返回值1,不同返回值0

4. errordlg('賬號或密碼錯誤!','錯誤資訊','modal');

    %錯誤提示資訊,‘modal’鎖定資訊提示框,從而不能進行其他操作

     msgbox('未進行平滑處理','提示資訊','modal'); %提示資訊對話方塊

5. global sample 

      %設定sample為全域性變數,需要在每一個函式前進行宣告才可進行更改。

6. answer=questdlg('是否清空所有內容','問題提示','Yes','No','Yes');

     if strcmp(answer(1:2),'Ye')….

    else

    ….

    end

    %提示對話方塊,選擇'Yes'或者'No'將進行不同的操作,預設為'Yes'

7. [filename,pathname]=uigetfile('*.xls;*.xlsx;','檔案選擇');

    %選擇制定格式檔案,返回資料夾地址和檔案 名pathname,filename

   address_data=strcat(pathname,filename);

    %Strcat函式將pathname和filename拼接,獲得檔案全路徑。

   data_path=genpath(pathname);

    addpath(data_path);%將pathname資料夾新增到路徑中。

8. sample=strcat(sample,'|',address_data);

    set(handles.popupmenu1,'string',sample);

    %更新拉選單的選項值,需要將每個選擇以‘|’分割拼接形成字元 串Sample='a|b';

9. va1=get(handles.popupmenu1,'value');

    st1=get(handles.popupmenu1,'string' )        %獲得下來選單選擇值

   if strcmp('資料',st1(va1,1:2))  

    …

   else    

   data=xlsread(st1(va1,:));

    end%指定範圍1:2,否則對於字串長度不一樣的情況容易出現索引超出範圍的問題。

    data=xlsread(st1(va1,:));   %讀取excel表格,st1(va1,:)為地址字串

    xlswrite(address_data3,yy_data3);  %寫入address_data3為地址,yy_data3為陣列

10.figure(1);   %開啟影象1

    subplot(2,2,1);   % subplot將影象分為2*2的視窗,並在第一個位置繪製圖形

    plot(x1,y1);   

    title('位移-壓力曲線');   %命名第一個位置繪製的影象標題     

    hold on;    %保持不變,下次繪圖儲存上次繪製的影象

11.prompt={'請輸入資料視窗值'};

      title1='平滑處理';%如果出現title,與下面標題命名衝突會出現索引超過維度的情況

     line=[1 20];

      def={'5'};  %預設值

     answer=inputdlg(prompt,title1,line,def);%輸入資訊對話方塊,

     window_data=str2double(cell2mat(answer(1,:)));

     %answer為獲得的值,但是需要cell2mat進行格式轉換為字串形式                               yy_data(:,2)=smooth(x,y,window_data,'moving');

    %smooth平滑處理,'moving'為其中一種型別,window_data為視窗值。

12.isnan()和isinf函式,判斷資料是否為nan和inf,從而不影響資料的運算

13.if exist(file_add,'file')==0   

     mkdir(address,file_name)

    ​end

    %exist判斷資料夾是否已存在,不存在則重建,file_add為全路徑,address資料夾地       址,file_namewe為資料夾名

14.detail_data=dir(data_add); 

      �tail_data:為資料data資料夾內檔案資訊,用dir函式讀取

     num_menu=length(detail_data)-2;   %num_menu:為資料夾裡的檔案數目

15.set(handles.menu_1,'ForegroundColor',color_0);%修改背景顏色color_0=[0,0,0];

16.winopen(h);  %開啟全路徑h所指的檔案word或excel檔案

17.time=datestr(now,29); %現在時間,29位其中一種時間形式

18.%建立word文件   

      try       

     Word=actxGetRunningServer('Word.Application');   

     catch     

     Word=actxserver('Word.Application');   

     end   

     Document=Word.Documents.Add;

     name_word=strcat(num2str(number),配方.docx');  %name_word:word文件名稱

     word_add=strcat(menu_add,'\',name_word); %word_add:word文件的完整地址  

     Document.SaveAs2(word_add);   

     Word.Quit;

19.%刪除座標軸顯示影象   

     axes(handles.axes1);    

     cla;

    %顯示圖片

   axes(handles.axes1);

    imshow(imread(r));%r為影象全地址

20.%關閉按鈕功能 

     set(handles.popupmenu3,'enable','off');   

    set(handles.pushbutton7,'enable','off');

  %開啟按鈕功能  

    set(handles.popupmenu3,'enable','on');  

    set(handles.pushbutton7,'enable','on');