i do have GUI which solves P,EL,H, my problem if i got result in decimal values how do I interpolate the result?

1 次查看(过去 30 天)
i do have GUI which solves P,EL,H, my problem if i got result in decimal values how do I interpolate the result? because my program can interpolate only whole numbers such as 700,701 but not on decimal values =(
a = get(handles.input1_gamma,'String'); %GAMMA
b = get(handles.input2_h,'String'); %H
c = get(handles.input3_q,'String'); %Q
d = get(handles.input4_power,'String'); %POWER
e = get(handles.input5_eout,'String');
out = str2num(b) + str2num(e);
set(handles.total_answer,'String',out);
data = xlsread('table.xlsx')
%b = strcat(PathName,F);
[m n] = size(data)
k = get(handles.total_answer,'String')
for i = 1 : m
A = data(i); %check xa 1st row then compare value
A = int2str(A);
if A == k
n = i;
score = data(n,2)%compare sa 2nd value
clc; %clear and cmd
set(handles.equalel,'String',score);
break;
else
mHeight = [700 750 800];
mEout = [100 200 300];
mElevation = out;
outputArea = interp1(mHeight, mEout, mElevation);
set(handles.equalel,'String',outputArea);
end
end

采纳的回答

Walter Roberson
Walter Roberson 2012-1-10
interp1 has no problems interpolating decimal numbers.
Comparing values by comparing their strings is... unusual. And you should not use == to compare strings: use strcmp() or equal() in case the two are different length.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by