compare matrices of different sizes
19 次查看(过去 30 天)
显示 更早的评论
I'm generating matrices of different sizes to determine the effect of changing the step size on the accuracy of an iterative solution. I want to compare each matrix with an initial one that i know is accurate. Here is how i was planning to do it:
uCompare=interp2(xInitial,tInitial,uInitial,x,t,"cubic"); %make comparison matrix size equal to new matrix
error=mean(abs((uCompare-u) ./ uCompare)); %find mean % error between matrices
where xInitial and tInitial are the x and y values where the initial matrix uInitial is and x and t are the x and y values of the new matrix. xInitial is the same length as uInitial but 1 row and tInitial is the same height as uInitial but 1 column. The 2d interpolation gives this error:
Error using griddedInterpolant/parenReference
Query coordinates input arrays must have the same size.
Error in interp2 (line 156)
Vq = F(Xq,Yq);
Error in stepFind (line 28)
uCompare=interp2(xInitial,tInitial,uInitial,x,t,"cubic");
What is wrong with the data I'm inputting or is there a better way of achieving this?
0 个评论
采纳的回答
chicken vector
2023-4-19
编辑:chicken vector
2023-4-20
Hard to tell from the information you give, but it looks like you are using vectors as interpolation base, when you have to use matrices, so try do adjust the following to your code:
[xGridInitial, tGridInitial] = meshgrid(xInitial, tInitial);
uCompare = interp2(xGridInitial, xGridInitial, uInitial, x, t, "cubic");
Read interp2 documentation about this, but xGridInitial, tGridInitial and uInitial must have same size.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!