[討論] 新手發問矩陣取值做xor

看板MATLAB作者 (sonia)時間10年前 (2015/05/21 15:09), 編輯推噓1(103)
留言4則, 1人參與, 最新討論串1/2 (看更多)
這是我第一次發文發問,如有冒犯錯誤請各位大大們糾正我 我是matlab新手剛接觸不久 最近在寫一個程式 我的目的是要把txt檔裡面的值取出來 [0111 00101 11011 ... ...共26行] 每行兩兩相比總共會有325種組合 長度相同的直接做xor(ex:00101 )xor=11110然後再做sum取出1+1+1+1+0=4這個值 11011 假如長度不同就要分別用前段跟後段取xor在相加(ex:0111 )xor的作法(0111)=0101 00101 0010 做sum=2再和xor(0111)=0010 sum=1 相加=3 0101 以下是我的程式碼 fid=fopen('dfree.txt','r'); [num1]= textscan(fid,'%s','headerlines',1); n=[]; for k=1:26 n{k}= num1{1}{k}; end str2num('n'); g=0; dbfree=0; dcfree=0; ddfree=0; for i=1:25 g=k+g-i; for k=(i+1):26 (k-i)+g; if(length(n{i})==length(n{k})) b=xor(n{i},n{k}); dbfree=sum(b); else i<=k; c=xor(n{i},n{k-(k-i)}); dcfree=sum(c); fliplr(n{i}); fliplr(n{k}); d=xor(n{i},n{k-(k-i)}); ddfree=sum(d); end end dfree=(dbfree)|(dcfree+ddfree) end 不知道哪裡有錯還是指令用錯我跑出來dree都是=0 感謝各位大大看完我冗長的文章QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.13.133.123 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1432192166.A.230.html

05/21 15:22, , 1F
你的k一開始沒宣告 然後回圈第一行就有k...
05/21 15:22, 1F

05/21 15:22, , 2F
我後面都還沒讀,就看不懂了(攤手
05/21 15:22, 2F

05/21 15:40, , 3F
你的程式後面還有很多問題,要一行行改,我做不到
05/21 15:40, 3F

05/21 15:40, , 4F
我直接幫你寫了
05/21 15:40, 4F
文章代碼(AID): #1LNOIc8m (MATLAB)
文章代碼(AID): #1LNOIc8m (MATLAB)