How to replace a variable or function with another variable or function ?
Show older comments
for example. I have a function
y = x*(x^2 - 1)
In this function, I want to replace x with cos(t)
the required function is,
y = cos(t) ( (cos(t))^2 - 1)
Answers (3)
Are Mjaavatten
on 25 May 2016
Edited: Are Mjaavatten
on 25 May 2016
You could define an anonymous function f(x):
f = @(x) x.*(x.^2-1);
Note the '.' before the * and ^operators. This lets the function work with array inputs. I use this feature in the example at the end.
Now you can use cos(t) as an argument to f:
t = 2;
y = f(cos(t))
Or you may define a new anonymous function g:
g = @(t) f(cos(t));
You may now try something like this:
t = linspace(0,2*pi);
plot(t,g(t))
You may want to take a look at the Matlab documentation for anonymous functions.
2 Comments
Pavan Bharadwaj
on 25 May 2016
Are Mjaavatten
on 25 May 2016
Pavan,
It seems from your comment that I may have misunderstood your question.
You mention 'differential' in your comment. Are you asking how to do some symbolic manipulations to the equations to yield a mathemathical differential (e.g. dy or dx), formulate a differential equation, or maybe how to find the derivative dy/dt?
If so, maybe the symbolic math toolbox may be of help. I do not have this toolbox, but if you state your problem more clearly, maybe someone else can give a relevant answer.
Steven Lord
on 25 May 2016
0 votes
Since it seems like you want to perform symbolic computations, see the subs function in Symbolic Math Toolbox.
Parth Shrimali
on 1 Dec 2020
Edited: Parth Shrimali
on 1 Dec 2020
0 votes
syms x y z;
p = 3*x + y +z;
% suppose you wanna replace 'x' with
% new variable 'a' in our difined
% variable 'p'
syms a;
subs(p,'x',a)
Categories
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!