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

1 ビュー (過去 30 日間)
Palguna Gopireddy 2021 年 7 月 27 日

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 日

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