How to overcome the data length issue in the following code?

2 ビュー (過去 30 日間)
muhammad choudhry
muhammad choudhry 2022 年 3 月 10 日
コメント済み: Image Analyst 2022 年 3 月 10 日
Hi,
I have 2 excel files named TimeStamps_Uy.xlsx and Head_Timestamps.xlsx. In file one: TimeStamps_Uy.xlsx column 1 have a Timestamps and column 2 have the velocity data. In file two: column 1 have a Timestamps and column 2 have the Head data. I want to use TimeStamps_Uy.xlsx file and all of its Timestamps to find the similar or the nearest Timestamps in the Head_Timestamps.xlsx hence on matching plot the corresponding data (head/Uy) hence save the timestamp, head, and Uy into new xlsx or csv file. I have tried the intern1 function so far in which I am having problem because in file Head_Timestamps.xlsx there are more data then the TimeStamps_Uy.xlsx. I am pasting the code and error below?
Code:
close all; clear all; clc;
Uy_dir = 'F:\3-PIV_Experimental_Data\Outlet_110\Data_LaserSheet_D\Data_PIV\5-AverageFilter_VelocitiesExtration\Point_Velocities\Uy\TimeStamps_Uy.xlsx';
a = readmatrix(Uy_dir);
time_stamp_u=a(:,1);
u=a(:,2);
Head_dir = 'F:\3-PIV_Experimental_Data\Outlet_110\Data_LaserSheet_D\Data_Head\Data_Raw\Head_Timestamps.xlsx';
a1 = readmatrix(Head_dir);
time_stamp_h=a1(:,1);
h=a1(:,2);
h_u = interp1(h,u,time_stamp_u)
Error:
Error using interp1>reshapeAndSortXandV (line 445)
X and V must be of the same length.
Error in interp1 (line 128)
[X,V,orig_size_v] = reshapeAndSortXandV(X,V);

採用された回答

Image Analyst
Image Analyst 2022 年 3 月 10 日
"I have 2 excel files named TimeStamps_Uy.xlsx and Head_Timestamps.xlsx." Yes, you have them, but we don't because you forgot to attach them.
h and u are not the same lengths. What are the sizes of those arrays
size(h)
size(u)
size(time_stamp_u)
  2 件のコメント
muhammad choudhry
muhammad choudhry 2022 年 3 月 10 日
Hi, I have attached the files.
size(h) = 152x1
size(time_stamp_h) = 152x1
size(u) =45x1
size(time_stamp_u) =45x1
Image Analyst
Image Analyst 2022 年 3 月 10 日
See -- h and u have different lengths. You need to pass in the full x first, then the full y, then the x values that you want the interpolated values for the third argument. So the full x and y must be the full signal that you have and must be the same length since you have a y for every x.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by