import XLSX FILE and plot it in guide
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
im trying to import ecxle file in the guide and plot it using one push bottom and 2 popupmene i used this code but it didnt work
handles.fileName=uigetfile('*.xlsx');
guidata(hObject,handles)
setPopupmenuString(handles.popupmenuX,eventdata,handles)
setPopupmenuString(handles.popupmenuY,eventdata,handles)
set(handles.popupmenuX,'callback','@(hObject,eventdata)project(''updateAxes'',hObject,eventdata,guidata(hObject))')
set(handles.popupmenuY,'callback','@(hObject,eventdata)project(''updateAxes'',hObject,eventdata,guidata(hObject))')
function setPopupmenuString(hObject,eventdata,handles)
fileName=handles.fileName;
[numbers,colNames]=xlsread(fileName);
set(hObject,'string',colNames);
function [x,y] = readExcelColumns(fileName,xCol,yCol)
% READEXCELCOLUMNS returns columns from .XLSX file
fileName='data.xlsx';
a=xlsread(fileName);
x=a(:,xCol); % make original Excel column into 'x'
y=a(:,yCol); % make original Excel column into 'y'
function updateAxes(hObject,eventdata,handles)
xColNum=get(handles.popupmenuX,'value');
yColNum=get(handles.popupmenuY,'value');
fileName=handles.fileName;
[x,y] = readExcelColumns(fileName,xCol,yCol);
plot (handles.axes8,x,y)
6 Kommentare
Rik
am 18 Apr. 2019
"it didn't work"
There is a lot you can do with Matlab, but the mind reading toolbox is still in development. You need to explain what went wrong. What errors are you getting? Have you tried to use the debugging tools to find out at what line in your code the results are different from what you expect?
Antworten (1)
Rik
am 18 Apr. 2019
Now I realize what was the strange thing about your code: they are char arrays instead of function handles. In principle that is fine, but it has the effect of calling eval on that array, which doesn't run the function, but creates the handle you're seeing.
Your function doesn't actually ever run. The code below should fix this.
set(handles.popupmenuX,'callback',@(hObject,eventdata)project('updateAxes',hObject,eventdata,guidata(hObject)))
set(handles.popupmenuY,'callback',@(hObject,eventdata)project('updateAxes',hObject,eventdata,guidata(hObject)))
3 Kommentare
Walter Roberson
am 19 Apr. 2019
Bearbeitet: Walter Roberson
am 19 Apr. 2019
Is there more detail about the error? For example, does it say that guidata is an unknown function or variable ?
Where are you storing something into handles.fileName ?
Siehe auch
Kategorien
Mehr zu Spreadsheets finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
