MATLAB 板


LINE

小弟剛入門不久請高手們見諒(並非求怎麼寫,而是怎麼寫會寫的比較好) 我先說我要做什麼,然後我怎麼做,請教高手們你們會怎麼做,讓我有一個方向。 小弟有一個名稱為ear的371422*4矩陣 第一直行為x座標 x=ear(:,1); 第二直行為y座標 y=ear(:,2); 第三直行為年分t座標 t=ear(:,3); %出現的數字有1991~2000(年) 第四直行為月份t座標 m=ear(:,4); %出現的數字有1~12(月) 把座標以0.1為區間作為網格,所以我想知道的是框框裡面在某時間點的出現次數。 畢竟要算某3*3框框內的數值,故要用x,y範圍吧?(如100>x & x<101 & y>25 & y<30) 若我想用迴圈一次生成: 「每半年在某x,y範圍內的值,並分別以矩陣(T,N)表示」 (直行為第N個框框,列為第T時間內) 框框位置: ┌─┬─┬─┐ │ 1│4 │7 │ ├─┼─┼─┤ │ 2│5 │8 │ ├─┼─┼─┤ │ 3│6 │9 │ └─┴─┴─┘ 我是有寫過了,方法就和下面所說的一樣,然後再寫成迴圈。 但是這樣要分成每半年、每一季(三個月)、每一個月就有點困難。 【不知道我下列方法方向有沒有錯誤?還是有更好的寫法?】 -------------------分隔線--------------------- 因為if不太熟所以我直接用邏輯符號打來乘... 原先我只要求「每年」就可以了,不用每半年,所以我就 先設t0=1991:2000; 我是用length + find函數來算在t=t0年分時, 有多少個在xa~xa+0.1~ya~yb-0.1網格框框內的資料 length(find(x.*(t==t0(1))>xa & x.*(t==t0(1))<x+0.1 & y.*(t==t0(1))>ya & ... y.*(t==t0(1))<y-0.1→因為我網格框框的排列要和Matlab預設的一樣,所以用減的。 【算條件個數不知道有沒有更好的寫法?】 然後再用for迴圈寫出每年分的1~9格個數。 但這種寫法年份還簡單,但是一碰到要算半年,或一季這種我就不知道該怎麼寫了。 感覺就要用if寫比較好(寫了好幾天都寫不太出來...)。 我是有想到分成上半年、下半年,一次做,在交換矩陣位置就好了(雖然頗麻煩...), 因為最後要plot所以才這樣寫。 【不知道有沒有推薦我一個方向該怎麼寫或想法會比較好。】 以下是我寫迴圈的方式已改成1樓所說的方式 t0=1991:2000; m0=7; %區分半年位置上半年<7,下半年>=7 A_nzhu=zeros(3); for m=1:length(t0) nA_zonehu(m)=sum(x>xa & x<xa+0.5 & y>ya & y<ya+0.5 & t==t0(m) & mon<7); for k1=1:3 for k2=1:3 A_nzhu(k2,k1)=sum(x>x0+(k1-1)*0.1 & x<x0+0.1*k1 & y>y0-0.1*k2... & y<y0-(k2-1)*0.1 & t==t0(m) & mon<7)/nA_zonehu(m); eval(['A_RIhu', num2str(t0(m)), '= A_nzhu']); end end end A_thu_RI=reshape(cat(3,A_RIhu1991,A_RIhu1992,A_RIhu1993,A_RIhu1994,... A_RIhu1995,A_RIhu1996,A_RIhu1997,A_RIhu1998,A_RIhu1999,A_RIhu2000),9,[]); 這樣只得到所有年度"上半年"的9格資料 下半年還要再寫一次... 那要得到每月的話...不就更麻煩??? 謝謝! 不知道這樣會不會太伸手牌...我想說只是問一個方向@@ --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.141.150.30 ※ 編輯: h10840206 來自: 220.141.150.30 (03/10 10:51)
1F:推 sunev:sum(x>xa & x<xa+0.1 & y>ya & y<ya+0.1 & t==t0(1)) 03/10 10:57
2F:→ h10840206:那我迴圈寫出來只能分開寫上半年和下半年,要怎麼寫才可 03/11 09:07
3F:→ h10840206:以寫出矩陣是[1991上半 1991下半 1992上半 1992下半...] 03/11 09:08
4F:→ h10840206:不然我現在的是[1991上 1992上...]和[1991下 1992下...] 03/11 09:08
5F:→ h10840206:兩個9*10的矩陣,再分開拼在一起@@ 可是那我要分每月的 03/11 09:09
6F:→ h10840206:話 我要12次@@ 請問該怎麼寫才能得到照時間順序的矩陣? 03/11 09:11
※ 編輯: h10840206 來自: 220.141.150.30 (03/11 09:24)
7F:推 sunev:矩陣可多維,eval沒什麼意義,也不用reshape。 03/11 23:53







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP