Re: [討論] 連續資料讀入及執行計算式問題(一萬p)已回收
※ 引述《pidasing (乂倒吊子乂)》之銘言:
: 我再對這個點做運算是得到結果 第二位置的點一樣 也是一百比 進行運算
: 我現在想法是 將總比數看成 300 x 180
: 將資料依照每個檔案的x y 讀入
: 例如 1.5 1 xxx資料讀入矩陣的(1,1) 1.5 2 xxx 值讀入(1,2)
: 以此類推 300x 180 的網格中 每個網格都是那個地點的100天的資料
: 然後再分別將每個網格分別執行計算式 並儲存結果
: 本人是matlab超級初新手 我實在不知道如何下手
: 希望有好心人幫幫忙 看要回復或寄封信給我
: 也可以站內信往來大概教我一下
: 如果有好心人可以幫我完成這個忙的話
: 我會提供10000p作為感謝的報酬
: 謝大家~~~
: ~
: ps.我這不是學校作業(學生暑假已經開始放了)
: 單純是一位被老闆壓榨的且matlab超弱的樸實員工
: 請大家多多幫忙,拜託拜託!!
如果你的資料格式是*.txt的話 MATLAB就可以直接讀入
像是 data = load('Day1.txt');
如果你的Day1.txt裡面是像這樣的話:
1.5 1 -0.013
1.5 2 -0.011
1.5 3 0.412
2.5 1 0.0123
2.5 2 0.3111
2.5 3 0.4444
data的資料型態就會是 6x3 double 另外因為你的資料數量都是規律的
你根據簡單的邏輯就可以推得不同座標的index是多少 就可以拿來運算
至於不同天的資料 如果你指的是每一天都有自己的txt檔 像是 Day1.txt Day2.txt
你就可以在讀入的時候 利用迴圈跟sprintf來逐筆讀入 放在structure裡面
以只有兩天的檔案 舉個例子
% sequence data import
% ====================
clear all; clc; close all;
for i=1:2 %depend on # of days
name = springf('Day%d.txt',i);
a(i).data = load(name); % a is a structure
end
% ====================
這樣的話 你就可以在變數視窗 看到變數a的型態是一個 1x2 struct
然後 a(1).data 就會是一個 6x3的double (也就是Day1.txt裡面的內容)
a(2).data也是一個 6x3的double (也就是Day2.txt裡面的內容)
所以要使用的時候 就可以直接取值 例如
a(1).data(1,1) 就會是Day1.txt 第一個座標資料點的X
a(1).data(1,2) 就會是Day1.txt 第一個座標資料點的Y
a(1).data(1,3) 就會是Day1.txt 第一個座標資料點的值(Z)
所以你可以按照這樣的方法把所有東西讀進去然後做運算
按照你的資料 你會有a(1)~a(100) 這100個structure
然後每一個structure裡面 因為有54000個座標(300*180) 因此型態是 54000x3 double
應該這樣就能解決問題了 有問題請指教~~希望對你有幫助
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.168.222.55
※ 編輯: wannatalking 來自: 218.168.222.55 (07/03 13:15)
推
07/03 21:41, , 1F
07/03 21:41, 1F
推
07/03 22:58, , 2F
07/03 22:58, 2F
推
07/04 10:38, , 3F
07/04 10:38, 3F
→
07/04 13:45, , 4F
07/04 13:45, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):