How to define a dependent variable for differentiaion?

3 views (last 30 days)
Hi,
I have a variable A which is dependent on x, but I don't know the expression yet.
I have a differential equation dA/dx which is given as
dA_x = (T*b-E*Q*diff(C_s,x))/(E*S);
All the entities except C_s are constants. I can get A by integrating this equation.
A = int(dA_x,x);
But the problem lies with the differential expression of C_s which is given by
C_s = (M-2*A*E*Q)/(2*E*I);
Since A is not yet defined as a function or dependent variable of x, the differentiation results in 0.
How do I solve this?
I'm not looking for a numeriacal answer, I just need a symbolic expression.

Accepted Answer

Ameer Hamza
Ameer Hamza on 7 Oct 2020
Define symbolic variable A like this
syms A(x)
It will tell MATLAB that a depends on x and will not become zero on differentiation.
  6 Comments
Abinav
Abinav on 7 Oct 2020
syms L b h S I Q E u F M T c theta w k
syms x A(x) dA_x C_s(x)
S = b*h;
I = b*h^3/3;
Q = b*h^2/2;
M = -((F*L^2)/2)+(F*(L*x-x^2/2));
C_s = (M-2*A*E*Q)/(2*E*I);
dA_x = (T*b-E*Q*diff(C_s,x))/(E*S);
A = int(dA_x,x);
At this point, the diff(C_s,x) becomes C_s. And matlab makes a substitution from the above equation resulting in A(x) on both sides of equation. Which is mathematically correct.
C_s = subs(C_s,A)
But when I substitute A back into my C_s, there is still an A term in the equation. This could be avoided if matlab retains keeps the term as C_s while integrating instead of substituing the equation in there.
In either case, the problem can be solved by rearranging the terms but I can't figure out a way to do that in Matlab.
Ameer Hamza
Ameer Hamza on 7 Oct 2020
Symbolic variables can be a bit confusing sometimes. For this case, the following code will work
syms L b h S I Q E u F M T c theta w k
syms x A(x) dA_x(x) C_s(x)
S = b*h;
I = b*h^3/3;
Q = b*h^2/2;
M = -((F*L^2)/2)+(F*(L*x-x^2/2));
C_s = (M-2*A*E*Q)/(2*E*I);
dA_x = (T*b-E*Q*diff(C_s,x))/(E*S);
A = int(dA_x,x);
C_s = subs(C_s);

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!