Problem adding two symbolic functions
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hossein
el 28 de Feb. de 2017
Comentada: Kuifeng Zhao
el 18 de Mayo de 2021
Hi, I have a problem adding two fuctions with deriatives of symbolic variables. The main purpose ist to solve a differential equation for an amount of x and y to achieve Ux Uz. Can any body help me?
syms x y Ux Uz
U_x(x,y,Ux)=Ux*cos(x)*cos(y);
U_z(x,y,Uz)=Uz*cos(x)*cos(y);
A1=diff(U_x,x)+0.5*(diff(U_z,x))^2;
Error:
Error using symfun/privResolveArgs (line 181) Symbolic function inputs must match.
Error in sym/privBinaryOp (line 819) args = privResolveArgs(A, B);
Error in + (line 7) X = privBinaryOp(A, B, 'symobj::zip', '_plus');
0 comentarios
Respuesta aceptada
Sid Jhaveri
el 2 de Mzo. de 2017
Hi Hossein,
As the error suggests, both the inputs need to match. Try defining your U_x and U_z as follows:
U_x(x,y,Ux,Uz)=Ux*cos(x)*cos(y);
U_z(x,y,Ux,Uz)=Uz*cos(x)*cos(y);
After changing U_x and U_z as above, your code should work properly.
1 comentario
Kuifeng Zhao
el 18 de Mayo de 2021
Thanks. I came across a similar problem with error "Error in *X = privBinaryOp(A, B, 'symobj::mtimes');" and your answer helped solved my problem.
Más respuestas (1)
Walter Roberson
el 2 de Mzo. de 2017
A1 = diff(U_x(x,y,Ux),x)+0.5*(diff(U_z(x,y,Uz),x))^2;
That is, diff(U_x,x) gives a function result, as does diff(U_z,x), and then you were trying to add two functions with different arguments. But if you invoke U_x(x,y,Ux) then that becomes an expression result, and you diff() the two expressions and then you can add the expressions.
0 comentarios
Ver también
Categorías
Más información sobre Assumptions 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!