[問題]matlab跑迴圈一直當機

看板MATLAB作者 (heyheyhey)時間13年前 (2012/08/27 14:16), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
在下matlab新手,想要先模擬小位數除法來寫大數運算的除法部分 程式跑的時候跑很久,一直在Busy有點貌似當機 附上新手的程式碼想請問到底是哪裏出了問題 > < Aa(1:6)=[0 6 3 1 2 0]; %被除數Aa=21360 Bb=[3 1]; %除數Bb=13 Al=length(Aa)-1; Bl=length(Bb); C_temp(1:Al-Bl+1)=0; %運算結果放入C_temp中 %-------------------- for i=(Al-Bl):-1:0; callback=Check(Aa,Bb,Bl,i); while callback==1; C_temp(i+1)=C_temp(i+1)+1; for k=1:Bl; Aa(i+k)=Aa(i+k)-Bb(k); if Aa(i+k)<0; Aa(i+k)=Aa(i+k)+10; Aa(i+k+1)=Aa(i+k+1)-1; end end end while callback==0; Aa(i+Bl-1)=Aa(i+Bl)*10+Aa(i+Bl-1); Aa(i+Bl)=0; end end %--------------------------------------------- function callback = Check( Aa,Bb,Bl,i ) callback=1; for j=Bl:-1:1; if Aa(i+j)>Bb(j); callback=1; break elseif Aa(i+j)==Bb(j); callback=1; else Aa(i+j)<Bb(j); callback=0; end end end 程式碼很粗淺,新手想不到更好的方法寫除法了= = 謝謝各位高手! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.82.20.116

09/03 23:01, , 1F
不要用";"看他有沒有反應
09/03 23:01, 1F
文章代碼(AID): #1GEn39CA (MATLAB)