1. 程式人生 > 其它 >matlab 處理excel

matlab 處理excel

通過matlab處理excel資料

實驗結果





對excel處理的效果:

實驗原理

開啟excel回撥函式

function openexc_Callback(hObject, eventdata, handles)
[filename, pathname] = uigetfile({'*.xlsx';'*.slx';'*.mat';'*.*'},'File Selector');
set(handles.edit3,'string',[pathname,filename]);

excel檔案內容

開啟denggaoxian_Callback回撥函式

這個看似畫的圖很厲害,其實直接呼叫的matlab的庫函式。

function denggaoxian_Callback(hObject, eventdata, handles)

namee=get(handles.edit3,'string')
temp1=xlsread(namee,'sheet1');
x=temp1(:,2);y=temp1(:,3);%資料格式均為列向量
alti=temp1(:,4);area=temp1(:,5);
uij=min(x):(max(x)-min(x))/100:max(x); 
vij=min(y):(max(y)-min(y))/100:max(y);

%a:c:b表示[a,a+c,……,a+n*c],其中n=fix((b-a)/c)

[xi,yj]=meshgrid(uij,vij);
z2=griddata(x,y,alti,xi,yj,'natural');%插值法確認未知的z
figure(1);
mesh(xi,yj,z2)%曲面圖

colorbar;%顯示圖例
figure(2);
[C,h]=contour(xi,yj,z2,16);
clabel(C,h)


hold on;
for i=1:length(area(:,1))
	if(area(i)==1)
	h1=plot3(x(i),y(i),alti(i),'wo');
	elseif(area(i)==2)
	h2=plot3(x(i),y(i),alti(i),'yo');
	elseif(area(i)==3)
	h3=plot3