Effacer les filtres
Effacer les filtres

data upload and interpolation

5 vues (au cours des 30 derniers jours)
AMAN GUPTA le 13 Avr 2022
I have csv file named as '1_1.csv', '1_2.csv', ...'1_41'.csv, '2_1.csv', '2_2.csv', ..'2_41.csv',............'71_1.csv', '71_2.csv',......'71_41.csv'. Each csv file has a data of temperature for different location (X ,Y, Z ,T). Each csv file has different number of rows because result is generated from comsol. I want to estimate temperature on specific point in each csv file. I have made another folder named "DATA" which contains my specific point(X, Y ,Z) in which i want to estimate temperature in each csv file. It is possible that our specific point may not be in csv file so i need to find temperature on that point with the help of interpolation.
I was using the code given below to get my temperature profile.
XYZq = csvread("DATA.csv");
num1s = 1:71;
num2s = 1:41;
T_interp = nan(size(XYZq,1),numel(num1s),numel(num2s)) % 3 dimensions
for num1 = num1s
for num2 = num2s
dataFilename = sprintf("%d_%d.csv",num1,num2)
data = csvread(dataFilename,9)
T_data = scatteredInterpolant(data(:,1:3),data(:,4));
T_interp(:,num1,num2) = T_data(XYZq);
now file name changes as '1_1_1.csv', '1_1_2.csv', ...'1_1_11'.csv, '1_2_1.csv', '1_2_2.csv', ..'1_2_11.csv',............'1_9_11.csv', '21_1_1.csv', '21_1_2.csv',.. '21_1_11.csv', '21_2_1.csv', '21_2_2.csv', '21_2_11.csv'.......'21_9_1.csv', '21_9_2.csv', .... '21_9_11.csv'.
now how can i modify this code to upload my csv file and get my desire temperature data? Please help me

Réponses (1)

Vatsal le 5 Oct 2023
Hi aman,
I understand that you have a set of CSV files named as 1_1.csv, 1_2.csv, and so on. Each CSV file contains temperature data for different locations. The task is to estimate the temperature at a specific point in each CSV file. It is also possible that the specific point may not be present in a CSV file, in that case interpolation will be used to measure the temperature.
Now, the CSV files have been renamed, and the new file names are in the form of 1_1_1.csv, 1_1_2.csv, and so on. Here is the modified code that will work with the updated file names:
XYZq = csvread("DATA.csv");
num1s = 1:21;
num2s = 1:9;
num3s = 1:11;
T_interp = nan(size(XYZq,1), numel(num1s), numel(num2s), numel(num3s)); % 4 dimensions
for num1 = num1s
for num2 = num2s
for num3 = num3s
dataFilename = sprintf("%d_%d_%d.csv", num1, num2, num3);
data = csvread(dataFilename, 9);
T_data = scatteredInterpolant(data(:,1:3), data(:,4));
T_interp(:, num1, num2, num3) = T_data(XYZq);
I hope this helps!


En savoir plus sur Interpolation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by