作者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/cn.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