陣列我想comapre串 我怎麼會影響下面的值a
,b
,c
,d
的兩個陣列,當我嘗試如下,我得到一個錯誤如何比較與MATLAB
[a,b,c,d] = getVal(x);
=>this will gives :
a =
a
b=
0
c =
10
d =
[]
我有:
expected = {'a','0','10',[]};
我怎麼能讓之間[A,b,C,d]和預期相比如何?
陣列我想comapre串 我怎麼會影響下面的值a
,b
,c
,d
的兩個陣列,當我嘗試如下,我得到一個錯誤如何比較與MATLAB
[a,b,c,d] = getVal(x);
=>this will gives :
a =
a
b=
0
c =
10
d =
[]
我有:
expected = {'a','0','10',[]};
我怎麼能讓之間[A,b,C,d]和預期相比如何?
錯誤1:
=
是賦值運算符。
比較運算符是==
。
錯誤2:
MATLAB陣列一般不抱字符串。他們持有號碼或單個字符。
>> b = ['a','0','10','20']
b =
a01020
要知道爲什麼[a,b,c,d] = ['a','0','10','20']
不起作用,考慮一下:
>> [a,b,c,d] = 'a01020'
??? Too many output arguments.
你試圖把六個字符分爲四個桶。不工作。
您可能意味着建立一個單元陣列:
>> c = {'a','0','10','20'}
c =
'a' '0' '10' '20'
Matlab的陣列數值矩陣,而不是通用的列表容器。
從立昂的回答繼,你可能想要的是像
isequal({a,b,c,d}, {'a', '0', '10', '20'})
這將返回true
IFF a
具有價值'a'
等。
編輯
要完成多重任務,您可以使用DEAL
[a,b,c,d] = deal('a', '0', '10', '20')
的[我該怎麼做在MATLAB多重分配?(
我認爲我們有一個非常強大的語言障礙的效果。通過「比較」她真的意味着「分配」。 –
我已更新我的問題 – lola
可能重複http://stackoverflow.com/questions/2337126 /我在做什麼 - 多重任務在matlab) –
我已經更新我的問題,通過ginving值 – lola