필터 지우기
필터 지우기

Symbolic calculation gives Empty Matrix...

조회 수: 1 (최근 30일)
fugue
fugue 2013년 2월 26일
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