Symbolic calculation gives Empty Matrix...

4 views (last 30 days)
fugue
fugue on 26 Feb 2013
Hi all,
I am having this issue;
Inverse of symbolic matrices started to return empty matrix. It's Determinant also returns empty. I can calculate it term by term though. However, differentiating them, even term by term, results in a reshape error. (most probably due to an empty matrix created). Errors change, not all appear at once and not for every matrix..
Straight multiplication of symbolic matrices also started to result in an empty matrix..
Can't simplify either. (reshape error also)
Prior symbolic calculations look fine, until working with larger equations. All matrices are lower then 5x5.
I am suspicious of latest Java updates.. Using matlab R14..
Any ideas anyone?
  2 Comments
Shashank Prasanna
Shashank Prasanna on 26 Feb 2013
It is unlikely that it is a Java issue unless you are on a Mac. However, can you provide some code you are running and the exact error message? It will be easier to assist you.
fugue
fugue on 27 Feb 2013
Hi Shashank,
I've provided some more information. Just commenting to get you sent a response..

Sign in to comment.

Answers (2)

fugue
fugue on 26 Feb 2013
.
I'm using a winxp..
The actual code is long. So here is a pick up from the results; I just noticed that it cannot find the symbolic variables in the first place. So it cannot even do any symbolic operation.
When I copy (from matlab window) and paste the formulas into a new variable, same thing happens, unless I clear everything beforehand..
#1 ===========================================================
>> diff(A(:,1),rE(2))
??? Error using ==> reshape
To RESHAPE the number of elements must not change.
Error in ==> sym.maple at 94
result = reshape(result,size(varargin{3}));
Error in ==> sym.diff at 50
R = reshape(maple('map','diff',S(:),x),size(S));
>> class(A)
ans = sym
>> findsym(A)
ans = ' '
>> rE
rE = [ xE, yE, qE]
>> findsym(rE)
ans = ' '
==============================================================
  2 Comments
Walter Roberson
Walter Roberson on 26 Feb 2013
Try symvar() instead of findsym()
What happens if you ask for findsym(xE) ?
fugue
fugue on 27 Feb 2013
Hi Walter,
I've provided some more information. Just commenting if you are getting response info on comments only..

Sign in to comment.


fugue
fugue on 27 Feb 2013
.
Also, Lately, it takes much longer Matlab to start up. May it be related.. All were working just fine a while ago.. Popping out in the middle of a loop, it feels like a memory heap up problem..
.
>> findsym(xE)
ans = xE
>> symvar 'xE*(4000000*xE^2+80004000*xE*sin(qE)+800040001+80000000*yE-800040000*cos(qE)+4000000*yE^2-80004000*yE*cos(qE))^(1/2)/(40000*xE+400020*sin(qE))'
ans =
'qE'
'xE'
'yE'

Community Treasure Hunt

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

Start Hunting!