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');