作者amateuruser (( ・ω・`))
看板MATLAB
標題[討論] matlab for loop取vector
時間Thu Aug 23 14:22:49 2018
我目前已經取完4*16的 matrix
目前想利用for loop 取其中一個column 的四個數值再利用plot繪製曲線圖
想請教一下大大們 因為如上一篇說明 我每個感測器會有四筆資料 我想取我reshape之後的檔案(data_new)
data_sensor1 = data_new(1:4,1);
data_sensor2 = data_new(1:4,2);
data_sensor3 = data_new(1:4,3);
data_sensor4 = data_new(1:4,4);
data_sensor5 = data_new(1:4,5);
data_sensor6 = data_new(1:4,6);
data_sensor7 = data_new(1:4,7);
data_sensor8 = data_new(1:4,8);
data_sensor9 = data_new(1:4,9);
data_sensor10 = data_new(1:4,10);
data_sensor11 = data_new(1:4,11);
data_sensor12 = data_new(1:4,12);
data_sensor13 = data_new(1:4,13);
data_sensor14 = data_new(1:4,14);
data_sensor15 = data_new(1:4,15);
data_sensor16 = data_new(1:4,16);
但是問題來了
我loop 一直呈現大小不同 要求要取一樣大小無法解決
Code如下
data=xlsread('1.csv');
data_new=reshape(data,[4,16]);
xlswrite('output_1.csv',data_new);
data_avg=mean(data_new);
xlswrite('output_avg.csv',data_avg);
data_avg_1000=data_avg*(1/1000);
xlswrite('output_avg_1000.csv',data_avg_1000);
%data_sensor1=data_new(1:4,1);
a=1;
for i = 1:1:16
for j = 1:1:4
a=a+1;
data_sensor(j:a)=data_new(1:i ,j);
end
end
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.242.199.158
※ 文章網址: https://webptt.com/m.aspx?n=bbs/MATLAB/M.1535005373.A.9B5.html
1F:推 shuncheng: 你在for迴圈裡面都叫做data_sensor 沒有改變08/23 15:09
2F:→ shuncheng: 我自己目前實現這種想法都是利用 eval 你可以試看看08/23 15:12
因為我想要多個變數
像C++ 裡面提到的 array[i] i=1.2.3.4.5......16
※ 編輯: amateuruser (27.242.199.158), 08/23/2018 15:15:46
3F:推 shuncheng: for i=1:16 data_sensor(:,i) = data_new(:,i); end08/23 15:26
4F:→ shuncheng: 我搞不懂問題惹 打完才發現兩個變數是一樣的 暈08/23 15:28
S大 抱歉 可能沒講清楚
https://i.imgur.com/KWGfHlC.jpg
如圖
上面的數字代表我前一篇reshape完之後的數值
目前假設有64筆 我是目前想將data 取4個值(紅圈)到一個array 取16次(16個感測器)
不過我嘗試用原本的code
他就寫
In an assignment A(:)=B the number of elements A and B must be the same
我是希望能有16個依序變數 接受數值變vector 最後用這些vector 在引入語法plot繪圖
※ 編輯: amateuruser (27.242.199.158), 08/23/2018 15:44:41
5F:推 sppmg: 當然出錯啦!你的j:a一定超出4個啊! 08/23 19:26
6F:→ sppmg: 要取 n column 用 d(:,n) 即可 08/23 19:28
7F:→ sppmg: plot 好像支援矩陣 plot(x,y),x=size(y,1) 08/23 19:30
8F:→ sppmg: plot(x,y(:,[1,3,5])),畫1,3,5 column 08/23 19:32
9F:推 profyang: 你到底想畫什麼?沒看到你用plot啊?感覺不需要2個for迴圈 08/23 19:57
10F:→ dati: 首先你要先確定你要畫幾張圖,看你的文字應該是4筆資料一張 08/24 14:41
11F:→ dati: 然後畫16張,然後plot(x,y) x和y可以是一個向量 08/24 14:42