What do this expression mean '/\\\\r\n2' in symbolic integration?

5 Ansichten (letzte 30 Tage)
Hirak
Hirak am 10 Jan. 2019
Kommentiert: Hirak am 10 Jan. 2019
I did a symbolic integration for the limit of variables defined as (f(eta,w),eta, etamin, etamax,w, wmin,wmax) and obtained the result.
result(eta,w)=int(int(- 25*abs(sin(eta))*((25*abs(cos(w))*sign(cos(eta))^2*sign(cos(w))*sin(eta) + 50*abs(cos(eta))*dirac(cos(eta))*abs(cos(w))*sign(cos(w))*sin(eta))*(25*abs(cos(eta))*sign(cos(eta))*sign(sin(w))^2*cos(w) + 50*abs(cos(eta))*sign(cos(eta))*abs(sin(w))*dirac(sin(w))*cos(w)) + (25*sign(cos(eta))^2*abs(sin(w))*sign(sin(w))*sin(eta) + 50*abs(cos(eta))*dirac(cos(eta))*abs(sin(w))*sign(sin(w))*sin(eta))*(25*abs(cos(eta))*sign(cos(eta))*sign(cos(w))^2*sin(w) + 50*abs(cos(eta))*abs(cos(w))*sign(cos(eta))*dirac(cos(w))*sin(w))) - 25*abs(cos(eta))*abs(cos(w))*(25*sign(sin(eta))^2*cos(eta) + 50*abs(sin(eta))*dirac(sin(eta))*cos(eta))*(25*abs(cos(eta))*sign(cos(eta))*sign(sin(w))^2*cos(w) + 50*abs(cos(eta))*sign(cos(eta))*abs(sin(w))*dirac(sin(w))*cos(w)) - 25*abs(cos(eta))*abs(sin(w))*(25*sign(sin(eta))^2*cos(eta) + 50*abs(sin(eta))*dirac(sin(eta))*cos(eta))*(25*abs(cos(eta))*sign(cos(eta))*sign(cos(w))^2*sin(w) + 50*abs(cos(eta))*abs(cos(w))*sign(cos(eta))*dirac(cos(w))*sin(w)), w, -pi/2, pi/\\\r\n2), eta, -pi, pi)
When I run this function in a for loop Matlab itself cant recognize the portion in limit
.... w, -pi/2, pi/\\\r\n2), eta, -pi, pi)
What's going on? How to make it correct?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 10 Jan. 2019
It means that you are using R2015a (and possibly R2015b, I would need to check again), and that you are using MS Windows.
There was a glitch in the formatting of output around that time. Each \r stands for a carriage return, each \n stands for a linefeed, and each \\ means "continued on next line" . So it happens to get to that point in the output, realizes that the line has gotten pretty long, so it emits "to be continued" carriage-return new-line .
These do not affect the calculations: the calculations are being done with internal expressions that are in binary form. This only affects display of expressions.
You cannot directly get it to remove the extra characters from a symbolic expression because they are not really there.
However, if you char() a symbolic expression for display purposes, you can remove each \\\r\n sequence with strrep() or with
regexprep(S, '\\\\\(\\[rn])+', '')
This replacement is designed to be portable to Mac and Linux as well.

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by