Using symbolic variables in matrix-multiplication with elements consisting of trig-functions I came across a symbol that I have not seen before. It shows up in two elements in the result:
38769523591\\\r\n65965*Dq3*sin(2*q2 + q3)
and
-\\\r\n 1578177954729427/1073741824
What is this mysterious operator ? I tried using vpa(), but still the operator got promped. However, using
vpa(ans,2)
the operator disappeared. I guess it has something to do with numerical accuracy in the symbolic math engine...

6 Commenti

KSSV
KSSV il 25 Apr 2017
Copy the full code.
Stephen23
Stephen23 il 25 Apr 2017
Have a look at the "Special Characters" listed here:
Steven Lord
Steven Lord il 25 Apr 2017
I agree with KSSV. Please post a small sample of code with which you can reproduce this behavior so that we can try to reproduce the behavior as well.
I have no problem with posting code, but in this case there are many calculations performed prior to this behaviour... Hence, the symbolic expressions are quite long! I can attach the functions used in the calculations and show how to re-create the behaviour.
q = sym('q',[3,1]);
Dq = sym('Dq',[3,1]);
DDq = sym('DDq',[3,1]);
M = inertiaMatrix(q);
C = corCenMatrix(q,Dq);
G = springMatrix(q);
T = M*DDq + C*Dq + G
Jan
Jan il 25 Apr 2017
Does it shed any light to your problem that \r\n is the standard DOS line break?
Ronny Landsverk
Ronny Landsverk il 25 Apr 2017
Hi Jan Simon. Yes it does. However, I think this is a bug since these show up as part of an answer prompted by MATLAB... Do you have a comment ?

Accedi per commentare.

 Risposta accettata

Jan
Jan il 25 Apr 2017

3 voti

In format specificators e.g. in sprintf the backslash is used as escape character: the following character get a special meaning: \r is a "carriage return" and \n a "new line". Both together are used by DOS applications as line break. To get a backslash charater, \\ is used.
Remark: You can ask an internet search engine for "\r \n" also. I like this forum very much, but e.g. Google finds an answer in less than a second.

3 Commenti

Ronny Landsverk
Ronny Landsverk il 25 Apr 2017
Hi Jan Simon... new line - got it. However, I think this is a bug since these show up as part of an answer prompted by MATLAB... Do you have a comment ?
ali
ali il 17 Dic 2017
I have a same problem, how to use new line???
strrep(TheOutput, '\\\r\n', '')
Note that in cases where you get these characters, it would not be uncommon to see a message about truncated output. To view the whole output, see the work-around I gave in the link in my answer.

Accedi per commentare.

Più risposte (2)

Walter Roberson
Walter Roberson il 26 Apr 2017

3 voti

It is a bug in the output of long symbolic expressions. I submitted a report about it a few months ago. It would not hurt to submit a report yourself, so that they know I am not the only person affected.
Mohamed Abdelhamid
Mohamed Abdelhamid il 7 Mag 2017

1 voto

I did encounter that "\\\r\n" in some really long symbolic expressions. All I did was use find/replace to replace it with nothing. It did work pretty nice after that and the calculations were indeed correct.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by