15visualizaciones (últimos 30días)
Mostrar comentarios más antiguos
Alex Santizo el 7 de Feb. de 2020
Comentada: Walter Roberson el 11 de Dic. de 2020
Abrir en MATLAB Online
syms x y
g=(1/2)*e^(-2*x/3).*tan(y+1);
subs(g,x,0.3);
subs(g,y,-0.7);
0 comentarios Mostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos
Mostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos
Iniciar sesión para comentar.
Iniciar sesión para responder a esta pregunta.
Respuestas (2)
Walter Roberson el 7 de Feb. de 2020
Abrir en MATLAB Online
For the case of scalars
subs(g, [x, y], [0.3,-0.7])
For the case of non-scalars
subs(g, {x, y}, {newx, newy})
3 comentarios Mostrar 1 comentario más antiguoOcultar 1 comentario más antiguo
Mostrar 1 comentario más antiguoOcultar 1 comentario más antiguo
Alex Santizo el 7 de Feb. de 2020
Enlace directo a este comentario
https://la.mathworks.com/matlabcentral/answers/504156-subs-command-for-multivariable-function#comment_794546
Abrir en MATLAB Online
For some reason I keep getting an error in this line of code.
g=(1/2)*e^(-2*x/3).*tan(y+1);
%% Says there is an error on this line and Im not understanding where.
Ashwin Shibu el 11 de Dic. de 2020
Enlace directo a este comentario
https://la.mathworks.com/matlabcentral/answers/504156-subs-command-for-multivariable-function#comment_1199035
i dont think there shd be s dot after e^(-2*x/3)
Walter Roberson el 11 de Dic. de 2020
Enlace directo a este comentario
https://la.mathworks.com/matlabcentral/answers/504156-subs-command-for-multivariable-function#comment_1200995
Abrir en MATLAB Online
Dot between the e and the ^ is needed if x might be non-scalar. Dot between the ) and the *tan is needed if x and y might both be non-scalar.
That said, exp() is recommended instead of e^
g=(1/2)*exp(-2*x/3).*tan(y+1);
As a matter of style: I recommend that .* be used in any case involving variables unless you deliberately mean matrix multiplication (inner product). I would suggest * with scalars only for very simple constant multiples, such as 3*x -- but not, for example, x*y even if you know that x and y are both scalars. Using .* explicitly saves thinking by other people reading the code about whether you really meant matrix multiplication and saves programmers reading your code tracing back to prove that in every possible code path to that point, that x and y are guaranteed to be scalars.
Iniciar sesión para comentar.
Vladimir Sovkov el 7 de Feb. de 2020
Abrir en MATLAB Online
If e^ is the exponent and if you want to estimate the result numerically (from the question it is not quite clear what you want), you can use
syms x y
g=(1/2)*exp(-2*x/3).*tan(y+1);
double(subs(subs(g,x,0.3),y,-0.7))
2 comentarios Mostrar NingunoOcultar Ninguno
Mostrar NingunoOcultar Ninguno
Alex Santizo el 7 de Feb. de 2020
Enlace directo a este comentario
https://la.mathworks.com/matlabcentral/answers/504156-subs-command-for-multivariable-function#comment_794547
The question I am trying to solve is to evaluate that function at x & y are equal to the listed values using the subs command and by conversion into a matlab function.
Vladimir Sovkov el 7 de Feb. de 2020
Enlace directo a este comentario
https://la.mathworks.com/matlabcentral/answers/504156-subs-command-for-multivariable-function#comment_794552
Editada: Vladimir Sovkov el 7 de Feb. de 2020
Abrir en MATLAB Online
This case the code above should work. Though, you can do it easier and with faster computation avoiding symbolic computations as, e.g. (there are many ways to do it)
function g = myfunc (x,y)
g=(1/2)*exp(-2*x/3).*tan(y+1);
end
and call it as
g=myfunc(0.3,-0.7)
The error in your code is because Matlab is unaware what the variable "e" is. If you mean the exponent function, use "exp" instead, as in the code above. If you actually defined "e" somewhere before, the error can be with nonscalar values; if you mean the element-wise operation, use ".^" instead of "^" analogous to ".*" in the following part.
Iniciar sesión para comentar.
Iniciar sesión para responder a esta pregunta.
Ver también
Categorías
Mathematics and OptimizationSymbolic Math ToolboxSymbolic Computations in MATLABConversion Between Symbolic and Numeric
Más información sobre Conversion Between Symbolic and Numeric en Help Center y File Exchange.
Etiquetas
- subs
- command
- syms
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
Se ha producido un error
No se puede completar la acción debido a los cambios realizados en la página. Vuelva a cargar la página para ver el estado actualizado.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- Deutsch
- English
- Français
- United Kingdom(English)
Asia-Pacífico
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)
Comuníquese con su oficina local