undefined function in GUI

Hello, can i ask why when i write code for GUI, it show
Undefined function 'multiply' for input arguments of type 'double'.?
Thank you.

4 Commenti

Joseph Cheng
Joseph Cheng il 15 Giu 2021
it might be more helpful to show the line of code which this specifically specifies. are you using a function multiply?
Lim Xiao Hui
Lim Xiao Hui il 15 Giu 2021
this is the code
Geoff Hayes
Geoff Hayes il 15 Giu 2021
Lim - is multiply a function that you have written because I can't find it in the MATLAB documentation? If it is a custom function (either yours or perhaps from the File Exchange) then the error message is possibly telling you that the function cannot be found along the MATLAB search path. Or you are trying to call a function that doesn't exist anywhere.
Lim Xiao Hui
Lim Xiao Hui il 15 Giu 2021
okok thank you!

Accedi per commentare.

Risposte (1)

Kishan Dhakan
Kishan Dhakan il 16 Giu 2021

0 voti

If you're using MATLAB app designer, it will be easier if you click the 'add a function' button and define your multiply there itself (I see no reason to do it in a separate script). Note: If you add it as a private method, use app.multiply() everywhere.

3 Commenti

Rik
Rik il 16 Giu 2021
There are many reasons to define your custom functions in a separate file. One of those is that you might have written a function that does a specific task, and you want to do that in your app AND somewhere else.
Can you image the nightmare it would be if I had to remember every place I used a function like my readfile function in case I have an update for it?
You should only put functions only inside the app if they are actually specific to that app.
Kishan Dhakan
Kishan Dhakan il 16 Giu 2021
Modificato: Kishan Dhakan il 16 Giu 2021
Rik, accepted. I meant I see no reason for this 'multiply' specifically. As '*' would do the multiplication in general anywhere, I assumed this function is specific to the app.
Given that you only know the name, it would be a bit odd to assume the functionality is the exact same as *.
Maybe this is what that function does:
function af=multiply(x,y)
af=@(c) x*y + c;
end

Accedi per commentare.

Categorie

Richiesto:

il 15 Giu 2021

Commentato:

Rik
il 16 Giu 2021

Community Treasure Hunt

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

Start Hunting!

Translated by