Filter löschen
Filter löschen

MATLAB app designer too many output arguments

4 Ansichten (letzte 30 Tage)
Chun Fai Leung
Chun Fai Leung am 27 Jul. 2022
Kommentiert: Chun Fai Leung am 28 Jul. 2022
I wrote an app for particle tracking. Data is stored in a Excel datasheet.
I would like to create a "calculate Diffusion Coefficient" button and the Row 1, Column 14 data will displayed on the diffusion Coefficient edit field. However, when I used the following code, it show the "too many output arguments" and I searched and still don't know how to solve it. Could anyone helped me solve this please. Appreciate it a lot.
% Button pushed function: CalculateDiffusioncoefficientButton
function CalculateDiffusioncoefficientButtonPushed(app, event)
dataset = xlsread('modifiedDataset.xlsx','Sheet1')
app.DiffusionCoefficientmm2sEditFieldValueChanged.Value = dataset(1,14)
I even tried add a private property but it still doesn't work.
% Button pushed function: CalculateDiffusioncoefficientButton
function CalculateDiffusioncoefficientButtonPushed(app, event)
dataset = xlsread('modifiedDataset.xlsx','Sheet1')
app.DifCoeNum = dataset(1,14)
app.DiffusionCoefficientmm2sEditFieldValueChanged.Value = app.DifCoeNum
  7 Kommentare
Dennis
Dennis am 28 Jul. 2022
value=app.DiffusionCoefficientmm2sEditField.Value;
That line is created by appdesigner automatically when you add a ValueChanged callback to an editfield. But you are correct that in this case the line does nothing and value is not getting used or stored.
Chun Fai Leung
Chun Fai Leung am 28 Jul. 2022
Thank Sir dpb for the help as well, problem solved. I input the incorrect name of edit field, how dumb I am. Sorry.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Dennis
Dennis am 28 Jul. 2022
There are 2 errors in this line:
app.DiffusionCoefficientmm2sEditFieldValueChanged.Value = app.DifCoeNum
First you got the name of your edit field and its callback mixed up.
Second your edit field is not numeric, so you need to convert app.DifCoeNum to a string.
This should work:
app.DiffusionCoefficientmm2sEditField.Value =num2str(app.DifCoeNum);
  1 Kommentar
Chun Fai Leung
Chun Fai Leung am 28 Jul. 2022
Oh Sir. Thank you so much. I did try using num2str before but it still pop up the "too many output arguments".
However, the main problem is that I input the incorrect edit field name. After I changed it back to the correct name of edit field, it works perfect.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by