Symbolic calculation gives Empty Matrix...

1 次查看(过去 30 天)
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 个评论
Shashank Prasanna
Shashank Prasanna 2013-2-26
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 2013-2-27
Hi Shashank,
I've provided some more information. Just commenting to get you sent a response..

请先登录,再进行评论。

回答(2 个)

fugue
fugue 2013-2-26
.
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 个评论
Walter Roberson
Walter Roberson 2013-2-26
Try symvar() instead of findsym()
What happens if you ask for findsym(xE) ?
fugue
fugue 2013-2-27
Hi Walter,
I've provided some more information. Just commenting if you are getting response info on comments only..

请先登录,再进行评论。


fugue
fugue 2013-2-27
.
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!

Translated by