h=6:2:18; %一个1*7的double
t=[18,20,22,25,30,28,24;15,19,24,28,34,32,30]; %一个2*7的double
x=6.5:2:17.5; %一个1*6的double
y=interp1(h,t,x,'spline'); %用“3次样条插值求近似值”
错误使用 interp1>reshapeAndSortXandV
LENGTH(X) 和 SIZE(V,1) 必须相同。
出错 interp1 (第 128 行)
[X,V,orig_size_v] = reshapeAndSortXandV(X,V);

 채택된 답변

Dyuman Joshi
Dyuman Joshi 2023년 11월 21일

1 개 추천

As the error states, The function interp1() expects the length of the first input to be equal to the number of rows in the second input.
To achieve that, you can transponse 't' -
h=6:2:18; %一个1*7的double
t=[18,20,22,25,30,28,24;15,19,24,28,34,32,30]; %一个2*7的double
x=6.5:2:17.5; %一个1*6的double
%Transposing t
t = transpose(t);
%Interpolation
y=interp1(h,t,x,'spline')
y = 6×2
18.5020 15.6553 20.4986 20.3355 22.5193 24.9089 26.3775 29.6383 30.2051 34.2568 26.8178 30.9594

댓글 수: 2

博琰
博琰 2023년 11월 21일
ohhhhhh!!!!!!Thank you! This is my MATLAB assignment, thank you so much!
Dyuman Joshi
Dyuman Joshi 2023년 11월 21일
You are welcome!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 插值에 대해 자세히 알아보기

질문:

2023년 11월 21일

댓글:

2023년 11월 21일

Community Treasure Hunt

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

Start Hunting!