필터 지우기
필터 지우기

Simscape issue using "tablelookup"

조회 수: 2 (최근 30일)
Steve Tweddell
Steve Tweddell 2015년 7월 4일
답변: Darsana Thulasi 2015년 7월 6일
Hi,
I am building a custom component that makes a call to "tablelookup" with the target values defined as "parameters", the code compiles without error my issue is that the resulting interpolation is wrong. The result appears to be saturated by the selected extrapolation method "nearest" even when the defined inputs are within the defined interpolation matrix. I have tried an alternative method with used "inputs" rather than "parameters" to declare the target inputs and this appears to work fine. I have provided a simplified sample code which replicates my issue. If anyone can see an issue with my approach, guidance would be much appreciated.
component interp_test % Table lookup test
parameters
u1 = {0, 'deg'};
u2 = {0, '1'};
end
outputs
y = {0, '1'};
end
parameters (Access = private)
xd = {[10:10:180], 'deg'};
yd = {[0.5:0.5:10], '1'};
zd = {[ 1.030454533 1.02020134 1.02020134 1.030454533 1.030454533 1.030454533 1.030454533 1.040810773 1.040810773 1.040810773 1.040810773 1.040810773 1.051271097 1.051271097 1.051271097 1.051271097 1.051271097 1.051271097 1.051271097 1.051271097
1.051271097 1.030454533 1.040810773 1.040810773 1.051271097 1.051271097 1.051271097 1.051271097 1.051271097 1.061836545 1.061836545 1.061836545 1.061836545 1.061836545 1.061836545 1.061836545 1.083287066 1.083287066 1.083287066 1.083287066
1.127496849 1.061836545 1.061836545 1.061836545 1.061836545 1.061836545 1.051271097 1.051271097 1.10517092 1.061836545 1.10517092 1.061836545 1.061836545 1.061836545 1.10517092 1.10517092 1.10517092 1.10517092 1.10517092 1.10517092
1.221402762 1.083287066 1.083287066 1.083287066 1.083287066 1.083287066 1.10517092 1.10517092 1.10517092 1.10517092 1.10517092 1.127496849 1.127496849 1.127496849 1.127496849 1.127496849 1.127496849 1.127496849 1.127496849 1.1502738
1.349858824 1.127496849 1.10517092 1.10517092 1.10517092 1.10517092 1.10517092 1.10517092 1.127496849 1.127496849 1.127496849 1.127496849 1.127496849 1.1502738 1.1502738 1.1502738 1.1502738 1.1502738 1.1502738 1.173510867
1.491824707 1.173510867 1.127496849 1.127496849 1.127496849 1.127496849 1.127496849 1.127496849 1.127496849 1.1502738 1.1502738 1.1502738 1.173510867 1.1502738 1.173510867 1.173510867 1.173510867 1.173510867 1.197217372 1.197217372
1.822118844 1.221402762 1.1502738 1.127496849 1.127496849 1.127496849 1.127496849 1.1502738 1.1502738 1.1502738 1.173510867 1.173510867 1.173510867 1.197217372 1.197217372 1.197217372 1.197217372 1.197217372 1.221402762 1.221402762
2.225540955 1.246076729 1.173510867 1.1502738 1.1502738 1.1502738 1.1502738 1.1502738 1.173510867 1.173510867 1.197217372 1.197217372 1.197217372 1.197217372 1.221402762 1.221402762 1.221402762 1.221402762 1.246076729 1.246076729
2.718281828 1.271249144 1.197217372 1.173510867 1.173510867 1.173510867 1.173510867 1.173510867 1.197217372 1.197217372 1.197217372 1.221402762 1.221402762 1.221402762 1.246076729 1.246076729 1.246076729 1.246076729 1.271249144 1.271249144
2.718281828 1.271249144 1.221402762 1.197217372 1.173510867 1.173510867 1.197217372 1.197217372 1.221402762 1.221402762 1.221402762 1.246076729 1.246076729 1.246076729 1.246076729 1.271249144 1.271249144 1.271249144 1.271249144 1.296930074
2.718281828 1.271249144 1.221402762 1.197217372 1.197217372 1.197217372 1.197217372 1.221402762 1.221402762 1.246076729 1.246076729 1.246076729 1.271249144 1.271249144 1.271249144 1.296930074 1.296930074 1.296930074 1.296930074 1.296930074
2.718281828 1.271249144 1.221402762 1.197217372 1.197217372 1.197217372 1.221402762 1.246076729 1.246076729 1.246076729 1.271249144 1.271249144 1.271249144 1.296930074 1.296930074 1.296930074 1.323129814 1.323129814 1.323129814 1.323129814
2.718281828 1.271249144 1.246076729 1.197217372 1.197217372 1.221402762 1.246076729 1.246076729 1.271249144 1.271249144 1.296930074 1.296930074 1.296930074 1.323129814 1.323129814 1.323129814 1.349858824 1.349858824 1.349858824 1.349858824
2.718281828 1.349858824 1.246076729 1.197217372 1.197217372 1.221402762 1.246076729 1.271249144 1.271249144 1.296930074 1.296930074 1.323129814 1.323129814 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824
2.718281828 1.349858824 1.246076729 1.221402762 1.221402762 1.221402762 1.246076729 1.271249144 1.296930074 1.296930074 1.323129814 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824
2.225540955 1.349858824 1.246076729 1.221402762 1.221402762 1.246076729 1.246076729 1.271249144 1.296930074 1.323129814 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824
2.718281828 1.349858824 1.246076729 1.221402762 1.221402762 1.246076729 1.271249144 1.296930074 1.323129814 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824
2.718281828 1.349858824 1.246076729 1.221402762 1.221402762 1.246076729 1.271249144 1.296930074 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824 1.349858824], '1'};
end
equations
y == tablelookup(xd, yd, zd, u1, u2, interpolation=spline, extrapolation=nearest);
end
end

답변 (1개)

Darsana Thulasi
Darsana Thulasi 2015년 7월 6일
The documentation for 'tablelookup' indicates that for the parameter 'extrapolation', the output value is chosen based on the input value being outside the range. You may have to choose 'interpolation' instead.

카테고리

Help CenterFile Exchange에서 Foundation and Custom Domains에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by