[問題] 運算問題已回收

看板MATLAB作者 (well)時間15年前 (2010/06/08 15:56), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
clc;clear; a=[1 2 3 4 5 6 7 8 9 10 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -1 -2 -3 -4 -5]; for j=1:3:19 if sum(a(j:3:j+6)<0)==3 c=a(j+6); break else c=a(25); end end d=c 這是我原本寫的程式 意思是a(1) a(4) a(7) a(10) a(13) a(16) a(19)中 只要連續三期a()<0 就令d=第三個小於零的a() 如果當中都沒有連續三期小於零就令d=最後一個a=a(19) 因此以上程式跑出的結果會是d=-9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% b=[2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 5 5 5 5] %1by19 e=[3 3 3 3 3 3 3 3 3 3 3 4 5 1 4 2 3 5 6] %1by19 現在我要加入一個條件 一旦e(i)<b(i) 就令d=a(i) 因此觀察b e可以發現當b(14)=3>e(14)=1 所以d=a(14)=-4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 我想要寫出一旦a(1) a(4) a(7) a(10) a(13) a(16) a(19)中有連續三期小於零 就令d=第三個小於零的a() 如果沒有連續三期小於零 就令d=a(19)....情況一 或者 一旦e(i)<b(i) 就令d=a(i)...情況二 **注意:如果情況一先發生就按情況一條件處理 情況二先發生就按情況二條件處理 for i=1:19 if e(i)<b(i) d=a(i) end end ............................... 不知道這樣有沒有解釋清楚Orz 謝謝回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.230.16

06/08 16:03, , 1F
看不懂...
06/08 16:03, 1F

06/08 16:09, , 2F
多設一個參數 情況一成立等於1 二成立就等於2 然後用if else
06/08 16:09, 2F
文章代碼(AID): #1C3VVBT7 (MATLAB)