Enter symbolic multivariable equalities in matlab

2 次查看(过去 30 天)
Hi everybody,
I'm trying to implement a symbolic equality but instead of define a variable, I need to define a group of variables. My equation is like this : theta^2*ue^b/nu=a*int(ue^(b-1),x0,x) The problem is that matlab does not allow me to have multiple variables on the left hand side of the = sign. Ofcourse I can rewrite it to a theta = ... but I need to represent my answer in the form of theta^2*ue^b/nu. I tried defining an equation like this eq1= ' theta^2*ue^b/nu=a*int(ue^(b-1),x0,x)' but then it just defines it as a string, and I lose arithmetic possibilities (such as a substitution which i need to perform)
I know Matlab 2012b has the == function for the symbolic toolbox, but I'm running 2011a. Does anyone know a way to this?
Thanks in advance for your time.
Roy

回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2012-10-18
syms theta nu a ue b x0 x
equation=theta^2*ue^b/nu-a*int(ue^(b-1),x0,x)
  2 个评论
Roy Veldhuizen
Roy Veldhuizen 2012-10-18
This works for some purposes, but you do lose some functionality. If both the left hand and right hand side contain the same variable, you should be able to remove them using matlab simplify. For example ue in this case. However, since you've equated them to 'equation', matlab will not remove the ue's (unless you manage to convey that equation is equal to zero.)
Azzi Abdelmalek
Azzi Abdelmalek 2012-10-18
编辑:Azzi Abdelmalek 2012-10-18
this équation is by default equal to zero
solve(equation) is the same then solve(equation==0)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by