網(wǎng)站收費(fèi)怎么做seo技術(shù)快速網(wǎng)站排名
背景
有項(xiàng)目算法使用matlab中isequal函數(shù)進(jìn)行運(yùn)算,這里需要將轉(zhuǎn)化為C語言,從而模擬算法運(yùn)行,將算法移植到qt。
MATLAB中isequal簡單介紹
語法
tf = isequal(A,B)
tf = isequal(A1,A2,...,An)
說明
如果 A 和 B 等效,則 tf = isequal(A,B) 返回邏輯值 1 (true);否則,返回邏輯值 0 (false)。有關(guān)每種數(shù)據(jù)類型的等效性的定義,請參閱輸入?yún)?shù)部分。NaN(非數(shù)字)、NaT(非時(shí)間)、未定義的分類元素和 <missing> 值被視為與其他元素不相等,彼此之間也不相等。
要將 NaN、NaT、<undefined> 和 <missing> 值視為與其他此類值相等,請使用 isequaln。
示例
如果所有輸入是等效的,則 tf = isequal(A1,A2,...,An) 返回邏輯值 1 (true)。
比較兩個(gè)數(shù)值矩陣
創(chuàng)建兩個(gè)數(shù)值矩陣并比較其相等性。
A = zeros(3,3)+1e-20;
B = zeros(3,3);
tf = isequal(A,B)
tf = logical
?? 0
函數(shù)返回邏輯值 0 (false),因?yàn)檫@兩個(gè)矩陣有些許不同,并非完全相等。
比較兩個(gè)結(jié)構(gòu)體
A = struct('field1',0.005,'field2',2500);
B = struct('field2',2500,'field1',0.005);
比較結(jié)構(gòu)體的相等性。
tf = isequal(A,B)
tf = logical
?? 1
即使每個(gè)結(jié)構(gòu)體中的字段順序不同,isequal 也將這些字段視為相同,因?yàn)樗鼈兊闹迪嗟取?/p>
實(shí)際使用場景
A=[1 2 3 4 5 6]B=[1 2 3 4 5 6]isequal(A,B)
>>
>> A=[1 2 3 4 5 6]
B=[1 2 3 4 5 6]
isequal(A,B)
A =
???? 1???? 2???? 3???? 4???? 5???? 6
B =
???? 1???? 2???? 3???? 4???? 5???? 6
ans =
???? 1
C語言實(shí)現(xiàn)
代碼如下所示
int iseual(unsigned char *pA, unsigned char *pB, unsigned int m, unsigned int n) {int i, j;for(i = 0; i < m; i++){for(j = 0; j < n; j++){if(pA[i][j] != pB[i][j])return 0;}}return 1;
}
?