# what is difference between C=+A, C=A, C=unary(A)? All three provide same assignment of matrix A to C

조회 수: 2(최근 30일)
Palguna Gopireddy 2021년 7월 27일
답변: Palguna Gopireddy 2021년 7월 30일
I cant understand the difference between C=+A, C=A, C=unary(A)?
All three provide same assignment of matrix A to C. Is there any difference among them

댓글을 달려면 로그인하십시오.

### 채택된 답변

Chunru 2021년 7월 27일
편집: Chunru 2021년 7월 29일
C=+A;
C = uplus(A) is an alternate way to execute +A, but is rarely umeased. It enables operator overloading for classes.
So depending on class of A, +A or uplus(A) may have different meaning.
C = A; This is just an assignment.
For assignment:
• C = A; This is assiment only. MATLAB will do a lazy copying (pointer to A) and only do the real data copying when C is changed later.
• C = +A or C=uplus(A); +A and uplus(A) is the expression or function that involves A. The meaning of + and uplus is class dependent. The expression and function need to be evaluated first before assignment. The evaluation results is assigned to C (data copying is necessary).
The meaning of +/upluse:
• For numerical data types like double/single/etc, this will have no effect of the results.
• For logical and char, +/upluse has the effect of operator overloading. The result is of numerical data type double.
As function input arguments:
• +A and uplus(A) is the expression, as in table(+A)
##### 댓글 수: 5표시숨기기 이전 댓글 수: 4
Steven Lord 2021년 7월 28일
That's true, I'd forgotten about char. I guess I was a little more tired than I thought when I wrote that response.

댓글을 달려면 로그인하십시오.

### 추가 답변(1개)

Palguna Gopireddy 2021년 7월 30일
Thanks for the help.

댓글을 달려면 로그인하십시오.

R2021a

### Community Treasure Hunt

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

Start Hunting!

Translated by