Re: [問題] 關於計算的問題已回收

看板MATLAB作者 (大長今)時間14年前 (2010/03/31 01:03), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《howtodowell (well)》之銘言: : a=[1 -1 -2 -3 5 -1 -2 -5;2 3 4 5 6 1 1 1]; : b=[2 2 2 2 2 2 2 2;3 3 3 3 3 1 1 1]; : for i=1:2 : for j=3:8 : if (a(i,j-2)<0)&(a(i,j-1)<0)&(a(i,j)<0) : c(i,j)=1; : else : c(i,j)=0; : end : end : end : %a矩陣每一列中如果有連續三個元素小於零,我就取出該連續元素第三個小於零的元素 : %之後該列如果有第二組連續三個小於零的元素就不用管它 : %另外如果該行都沒有連續三個小於零的元素 就取該列最後一個元素 : %因此以a為例我希望取出a(1,4)=-3 , a(2,8)=1 : %接著把取出的元素除以b如以下所列 : %d(1,1)=a(1,4)./(b(1,1)*b(1,2)*b(1,3)) : %d(2,1)=a(2,8)./(b(2,1)*b(2,2)*...*b(2,7)) c=zeros(size(a,1),1); d=zeros(size(a,1),1); for i=1:size(a,1) for j=3:size(a,2) if sum(a(i,j-2:j)<0)==3 c(i)=a(i,j); break else c(i)=a(i,j); end end d(i)=c(i)/prod(b(i,1:j-1)); end c d -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.27.26

03/31 23:47, , 1F
請問為什麼else下一行要打c(i)=a(i,j);
03/31 23:47, 1F

04/01 00:02, , 2F
找到要求的元素後 放在C向量裡
04/01 00:02, 2F
文章代碼(AID): #1BiYxyWR (MATLAB)
文章代碼(AID): #1BiYxyWR (MATLAB)