Challenge

Project - Data Handling and Interpolation

Q) In a laboratory experiment, data of voltage and current has been recorded and the same is attached in an excel file ( VI.xlsx ). Read the excel file in the Matlab program and perform the interpolation in the range of -17.3:0.1:0.9. Generate the interactive plot for the interpolated data. Additionally, compute the current values for given voltages below and store them in a text file.

VV =[-17.2 -17.1 -13.8 -13.5 -13.0 -12.5 -11 -9 -5.76 -6 -1 0.11 0.25 0.5 0.61]

Answer:

Given: Voltage & Current is given.

And the data for Voltage & Current is saved in excel sheet (VI.xlsx)

Interpolation is done in the range of [-17.3:0.1:0.9]

Also, additional current is given as,

VV =[-17.2 -17.1 -13.8 -13.5 -13.0 -12.5 -11 -9 -5.76 -6 -1 0.11 0.25 0.5 0.61]

To find:

a) Perform the interpolation for the range using voltage and current data to generate interactive plot.

b) Additional generate interactive plot for the voltage only.

Solution:

For perfroming the above question, following program is used.

clc
clear all
file=xlsread('VI.xlsx') ...(VI.xlsx data is given)
format compact;
V=file(:,1)
l=file(:,2)
x=-17.3:0.1:0.9; ... (Interpolation range is given)
y=interp1(V,l,x,'spline');
subplot(211);
plot(V,l,'o',x,y)
grid on
title('voltage vs current')
xlabel('voltage')
ylabel('current')
grid on
%%
VV=[-17.2
-17.1
-13.8
-13.5
-13
-12.5
-11
-9
-5.76
-6
-1
0.11
0.25
0.5
0.61]
ll=interp1(V,l,VV)
z=[VV ll]
fileID = fopen('VVll.txt','w'); .... 'w' write permission
fprintf(fileID,'%6s %12s\n','VV','ll'); ....\n on new line
fprintf(fileID,'6.2f %12.8f\n',z);
fclose(fileID); .... fopen & fclose handle file pointer
clc
clear all
file=xlsread('VI.xlsx')
format compact;
V=file(:,1)
l=file(:,2)
x=-17.3:0.1:0.9;                       ... (Interpolation range is given)
y=interp1(V,l,x,'spline');
subplot(211);
plot(V,l,'o',x,y)
grid on
title('voltage vs current')
xlabel('voltage')
ylabel('current')
grid on

%%
VV=[-17.2
       -17.1
       -13.8
       -13.5
       -13
       -12.5
       -11
       -9
       -5.76
       -6
       -1
        0.11
        0.25
        0.5
        0.61]
ll=interp1(V,l,VV)
z=[VV ll]

fileID = fopen('VVll.txt','w');               .... 'w' write permission
fprintf(fileID,'%6s %12s\n','VV','ll');       ....\n on new line
fprintf(fileID,'6.2f %12.8f\n',z);
fclose(fileID);                               .... fopen & fclose handle file pointer

Following solution is obtained in command window

file =

-17.3000 -28.0000
-17.1000 -24.0000
-17.0000 -19.0000
-16.8000 -14.0000
-16.5000 -9.0000
-16.0000 -6.0000
-15.0000 -4.0000
-14.0000 -3.0000
-12.0000 -2.0000
-10.0000 -1.3000
-8.0000 -1.0000
-5.0000 -0.6000
-2.0000 -0.3000
-0.2000 -0.1000
0.0900 0
0.1900 0
0.2700 0
0.3900 0.0100
0.4300 0.0300
0.5000 0.1700
0.5500 0.4200
0.6000 1.2300
0.6200 1.9900
0.6500 3.9100

V =


-17.3000
-17.1000
-17.0000
-16.8000
-16.5000
-16.0000
-15.0000
-14.0000
-12.0000
-10.0000
-8.0000
-5.0000
-2.0000
-0.2000
0.0900
0.1900
0.2700
0.3900
0.4300
0.5000
0.5500
0.6000
0.6200
0.6500


l =


-28.0000
-24.0000
-19.0000
-14.0000
-9.0000
-6.0000
-4.0000
-3.0000
-2.0000
-1.3000
-1.0000
-0.6000
-0.3000
-0.1000
0
0
0
0.0100
0.0300
0.1700
0.4200
1.2300
1.9900
3.9100


VV =


-17.2000
-17.1000
-13.8000
-13.5000
-13.0000
-12.5000
-11.0000
-9.0000
-5.7600
-6.0000
-1.0000
0.1100
0.2500
0.5000
0.6100


ll =


-26.0000
-24.0000
-2.9000
-2.7500
-2.5000
-2.2500
-1.6500
-1.1500
-0.7013
-0.7333
-0.1889
0
0
0.1700
1.6100

z =


-17.2000 -26.0000
-17.1000 -24.0000
-13.8000 -2.9000
-13.5000 -2.7500
-13.0000 -2.5000
-12.5000 -2.2500
-11.0000 -1.6500
-9.0000 -1.1500
-5.7600 -0.7013
-6.0000 -0.7333
-1.0000 -0.1889
0.1100 0
0.2500 0
0.5000 0.1700
0.6100 1.6100

The plot (figure) is attached below in the attachment.

And program and result are attached below.

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.