Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3963074
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T03:10:19+00:00 2026-05-20T03:10:19+00:00

If I have a matrix like this A = [1 2; 3 4]; I

  • 0

If I have a matrix like this

A = [1 2; 3 4];

I can use interp2 to interpolate it like this

newA = interp2(A,2);

and I get a 5×5 interpolated matrix.

But what if I have a matrix like this:

B = zeros(20);
B(3,2) = 5;
B(17,4) = 3;
B(16, 19) = 2.3;
B(5, 18) = 4.5;

How would I interpolate (or fill-in the blanks) this matrix. I’ve looked into interp2 as well as TriScatteredInterp but neither of these seem to fit my needs exactly.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T03:10:19+00:00Added an answer on May 20, 2026 at 3:10 am

    A good solution is to use my inpaint_nans. Simply supply NaN elements where no information exists, then use inpaint_nans. It will interpolate for the NaN elements, filling them in to be smoothly consistent with the data points.

    B = nan(20);
    B(3,2) = 5;
    B(17,4) = 3;
    B(16, 19) = 2.3;
    B(5, 18) = 4.5;
    Bhat = inpaint_nans(B);
    
    surf(B,'marker','o')
    hold on
    surf(Bhat)
    

    Inpainted surface from nearly empty array

    Edit:

    For those interested in whether inpaint_nans can handle more complex surfaces, I once took a digitized Monet painting (seen on the left hand side, then corrupted it by deleting a random 50% of the pixels. Finally, I applied inpaint_nans to see if I could recover the image reasonably well. The right hand image is the inpainted one. While the resolution is low, the recovered image is a decent recovery.

    Garden at Sainte-Adresse

    As another example, try this:

    [x,y] = meshgrid(0:.01:2);
    z = sin(3*(x+y.^2)).*cos(2*x - 5*y);
    surf(x,y,z)
    view(-23,40)
    

    base trig surface

    Now, delete about 7/8 of the elements of this array, replacing them with NaNs.

    k = randperm(numel(z));
    zcorrupted = z;
    zcorrupted(k(1:35000)) = NaN;
    

    Recover using inpainting. The z-axis has a different scaling because there are minor variations above and below +/-1 around the edges, but otherwise, the latter surface is a good approximation.

    zhat = inpaint_nans(zcorrupted);
    surf(x,y,zhat)
    view(-23,40)
    

    enter image description here

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a matrix in SQL reporting and I would like it to print
I have several blocks of the following code that each use there own matrix.
I would like to have a MovieClip that has a bit of depth. I
just a quick question, if I have a matrix has n rows and m
I have a 30000x14000 sparse matrix in MATLAB (version 7), which I need to
I have a sparsely populated matrix that's the result of a series of left
I have a class to parse a matrix that keeps the result in an
I have looked at the SQL Server 2008 feature comparison matrix and it lists
I have a program that uses JAMA and need to test is a matrix
I have started a bounty for this question ...because I really want the community's

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.