Please what did i do wrong here..using interp2
16 次查看(过去 30 天)
显示 更早的评论
i was given a table of y\x and the given values of the corresponding temperatures, and i was told to find the estimate of the temperature at (1.2,0.7). i did my code but it did not seem to be right when i ran it .here is the code:
y=0.0:0.5:2.0;
x=0.0:0.5:2.5;
T= [0.00 5.00 10.00 15.00 20.00;
5.00 7.51 10.00 12.51 15.00;
10.00 10.05 10.00 9.95 10.00;
15.00 12.70 10.00 7.32 5.00;
20.00 15.67 10.00 4.33 0.00;
25.00 20.00 10.00 0.00 -5.00;];
Tn= interp2(x,y,T,1.2,0.7)
0 个评论
回答(2 个)
Image Analyst
2015-4-11
All too common of a beginners mistake. You thought x,y = row,column. It's NOT. In other words, you swapped x and y. Remember the rows = y, not x like you had them, and the columns = x, not y like you had. So x,y = columns, rows, NOT rows, columns. Here is corrected code:
x=0.0:0.5:2.0;
y=0.0:0.5:2.5;
T= [0.00 5.00 10.00 15.00 20.00;
5.00 7.51 10.00 12.51 15.00;
10.00 10.05 10.00 9.95 10.00;
15.00 12.70 10.00 7.32 5.00;
20.00 15.67 10.00 4.33 0.00;
25.00 20.00 10.00 0.00 -5.00;];
whos y
whos x
size(T)
Tn= interp2(x,y,T,1.2,0.7)
5 个评论
Image Analyst
2015-4-11
They show a 5 row by 6 column table. You have a 6 row by 5 column table. And, no, semicolons are not required when writing out a table on multiple lines.
Star Strider
2015-4-11
@George — As I read Problem 2, you transposed the table. It’s supposed to be (5x6). Yours is (6x5). Transpose ‘T’ (use the (') transpose operator to avoid retyping it) and your code should work.
y=0.0:0.5:2.0;
x=0.0:0.5:2.5;
T= [0.00 5.00 10.00 15.00 20.00;
5.00 7.51 10.00 12.51 15.00;
10.00 10.05 10.00 9.95 10.00;
15.00 12.70 10.00 7.32 5.00;
20.00 15.67 10.00 4.33 0.00;
25.00 20.00 10.00 0.00 -5.00;];
T = T';
Tn= interp2(x,y,T,1.2,0.7)
produces:
Tn =
10.6660
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!