anonymous, piecewise-defined function that has NaN as response for a certain subdomain
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Thomas Schäfer
el 31 de Ag. de 2022
Comentada: Thomas Schäfer
el 1 de Sept. de 2022
I want to make an Matlab anonymous, piecewise-defined function that has NaN as response for a certain subdomain, but I am uncertain how to do this.
For an anonymous, piecewise-defined function without NaN response like this:
I would use a script like this:
g=@(x) (x) .* (x<=-1)+...
(x+1) .* (x>-1 & x<1)+...
(-x+4) .* (x>=1);
I would apriciate if someone would give me a tip how to include a subdomain that has NaN as response in my anonymous function, let say g(x)=NaN for 2<x<=4. I do not have access to any relevant toolboxes.
0 comentarios
Respuesta aceptada
Walter Roberson
el 31 de Ag. de 2022
... + 0./~(2<x & x<=4)
If the value is not in the range then the basic logic test returns false and ~ that is true which is 1 and 0./1 is 0 so 0 would be added which would have no effect.
If the value is in the range then the basic logic test returns true and ~ returns false which is 0 and 0./0 is nan.
Más respuestas (1)
Torsten
el 31 de Ag. de 2022
g=@(x) (x) .* (x<=-1)+...
(x+1) .* (x>-1 & x<1)+...
(-x+4) .* (x>=1);
x = [-2,0,1.5,2.5,5];
gx = g(x);
gx(x>2 & x<=4)=NaN
0 comentarios
Ver también
Categorías
Más información sobre Monte Carlo Analysis en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!