i am trying to make a calculator in matlab gui and i add + or - and i want to add int and diff so i write the 5 lines of codes

3 visualizaciones (últimos 30 días)
syms x;
input=get(handles.edit3,'string');
input = strcat('@(x) ',input);
fx=str2func(input);
c=int(fx,x);
set(handles.text2,'string',char(c));
i write the 5 lines but not this one input = strcat('@(x) ',input); when i added this one my int and diff start working inside the gui what i am not geting is what is this starcat do for the int and diff and what is the @'x' mean

Respuesta aceptada

Mehmed Saad
Mehmed Saad el 7 de Mayo de 2020
Editada: Mehmed Saad el 7 de Mayo de 2020
suppose i want to create an anonymous function which subtract two inputs
An_fn = @(x,y) x-y;
It is equivilant to
function op = Not_An_fn(x,y)
op = x-y;
end
An_fn(1,2)
and
Not_An_fn(1,2)
will give you same output
str2func converts the string into anonymous function
suppose my string is 'x-y'
so i need to define the input arguments by @(x,y)
strcat is concatenating the input argument with the string 'x-y'
user_string = 'x-y';
strcat('@(x,y)',user_string)
ans =
'@(x,y) x-y'
Now if we apply str2func to convert it to anonymous function
fh = str2func(strcat('@(x,y)','x-y'))
fh =
function_handle with value:
@(x,y)x-y
  2 comentarios
Bader Herzallah
Bader Herzallah el 7 de Mayo de 2020
ser_string = 'x-y';
strcat('@(x,y)',user_string)
ans =
'@(x,y) x-y' so in this one u made function with @(x,y) then u add to it the eqation x-y then u change it from str2fun right?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by