2017-05-17 3 views
0

Arduino、NeoGPSおよびMPU6050は、SDカードにデータを記録します。「Cat」の代わりに索引付け(または効率的すぎるソリューション)を使用して行または列を置換する

Matlab上では、MPU6050からのアクセラレーションをバイト値からm/s^2にトラストフォーミングしています。

  1. コードは、MATLABにデータをロード
  2. それがすべき全ての列を定義
  3. コールのM/S^2
  4. にバイトへ変換funcion AZ 斧AYを抽出連結
  5. それはすべての列

私は土木技師のバックグラウンドを持っているので、私は非常にPRAないですを連結しますコーディングとコーディング。

特にインデックス作成を使用すると効率的なソリューションが存在するのでしょうか?

ここに私のダムコード

%Open the file 
filename= uigetfile ('.csv'); 
fileID = fopen (filename); 
logmpu6050 =csvread(filename); 
fclose (fileID); 

%Converting acceleration from Byte to m/s^2 
[ax,ay,az]=convms(logmpu6050); 


%Replacing the old accelaration values with the new 
cat1=logmpu6050(:,1:8); 
cat2=cat(2,ax,ay,az); 
cat3=logmpu6050(:,13:15); 
newlogmpu6050= cat(2,cat1,cat2,cat3); 

常にあなたの忍耐に感謝します!

答えて

1

中間でax, ay, azを連結するため、インデックス作成に使用するフローがlogmpu6050に分割されるため、インデックス作成を完全に使用してマトリックスを作成することはできません。これは、まだ希望連結を行っていますが、不必要にcatを呼び出していないと私にはこれが見えます

newlogmpu6050 = [logmpu6050(:,1:8) ax ay az logmpu6050(:,13:15)]; 

:あなたは、単一の行でそれをしたい場合は

しかし、あなたのような何かを行うことができますたくさんのneater。

関連する問題