Re: [問題] 陣列給值的問題…已回收

看板MATLAB作者 (楓霧)時間16年前 (2009/12/06 16:22), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
不知道寫得有沒有符合原意 程式沒有處理等於的情形,需要再自己加 %================================================ function test clc clear p = [66 71 74 81]; ElementOne = p(1); ElementEnd = p(end); TestData = [60 68 73 76 90]; NumTestData = length(TestData); OutData = zeros(NumTestData,1); for n = 1:NumTestData if(TestData(n)<ElementOne) OutData(n) = 0; elseif(TestData(n)>ElementEnd) OutData(n) = 1; else Loc = find(TestData(n)>p); One = Loc(end); Two = One+1; OutData(n) = (p(One)+p(Two))/2; end end disp(OutData); %================================================ 測試結果 輸入 TestData = [60 68 73 76 90]; 輸出 OutData = [0 68.5 72.5 77.5 1]'; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.207.32

12/07 00:42, , 1F
謝謝~
12/07 00:42, 1F
文章代碼(AID): #1B6sd1QT (MATLAB)
文章代碼(AID): #1B6sd1QT (MATLAB)