compare matrices of different sizes

19 views (last 30 days)
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?

Accepted Answer

chicken vector
chicken vector on 19 Apr 2023
Edited: chicken vector on 20 Apr 2023
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.
  1 Comment
Timothy Dunning
Timothy Dunning on 19 Apr 2023
Thanks, should x and t be matrices as well or are they fine as vectors?

Sign in to comment.

More Answers (0)

Categories

Find more on Interpolation in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!