標籤:

MATLAB"最無聊, 最無用"函數(uplus)的妙用

首先看看這是什麼函數吧.理解一下為什麼我說它是"最無聊, 最無用"的函數.

uplus就是Unary plus.

載入超時,點擊重試

看到這個函數描述, 感覺這個函數沒什麼用啊.

再看這個函數給出的例子:

載入超時,點擊重試

C與A相同, 為什麼不直接賦值?!

比如:

A = [1 -3; -2 4];
C = A

C =
1 -3
-2 4

看來uplus這個函數沒什麼用處啊. 除了保持語法上的"完整性". 為了對應於uminus函數.

A =[1 -3;-2 4];
-A

ans =
-1 3
2 -4

uminus(A)

ans =
-1 3
2 -4

直到了我今天看到了這篇文章的一個例子, 我當時是震驚的.

M31415926:Cody Note 001:除數數量的判斷?

zhuanlan.zhihu.com圖標

>> str=aabbccccedabtttfffffff
str =
aabbccccedabtttfffffff
>> histcounts(+str,[sort(unique(+str)) 1000])
ans =
3 3 4 1 1 7 3

我很好奇"+str"是做什麼的, 因為我之前從來沒看到過這樣的寫法

於是在命令窗口上運行了一下:

>> str=aabbccccedabtttfffffff
str =
aabbccccedabtttfffffff
>> +str
ans =
19
97 97 98 98 99 99 99 99 101
1018
100 97 98 116 116 116 102 102 102
1922
102 102 102 102
>> double(str)
ans =
19
97 97 98 98 99 99 99 99 101
1018
100 97 98 116 116 116 102 102 102
1922
102 102 102 102

對於字元型變數str來說, "+str"等價於"double(str)", 但是更簡潔.

推薦閱讀:

TAG:MATLAB |