Problem Using Interp1 Within For Loop
    1 view (last 30 days)
  
       Show older comments
    
    Jonathan Pinko
 on 30 Apr 2020
  
    
    
    
    
    Commented: Ameer Hamza
      
      
 on 1 May 2020
            I have the following code: 
xq = dataset(1:116,1);
Fevq = zeros(length(xq),length(Fes));
for l=1:numel(Fes);
    Fevq(l)=interp1(Fo(:,l),DeltaFe56(:,l),xq);
end
Fes is a 2x1 matrix, and both Fo and DeltaFe56 are both 126x2 matrices. I would like to interpolate the values of xq onto the (Fo,DeltaFe56) curves both when l=1, and when l=2. When I try to do this, however, I get the error message, "Unable to perform assignment because the left and right sides have a different number of elements".
I would like both sides to have the size of 116x2, and I am not sure why this isn't the case. Can anybody explain why this isn't working?
Thanks,
Jonathan
0 Comments
Accepted Answer
  Ameer Hamza
      
      
 on 1 May 2020
        Try this
xq = dataset(1:116,1);
Fevq = zeros(length(xq),length(Fes));
for l=1:numel(Fes);
    Fevq(:,l)=interp1(Fo(:,l),DeltaFe56(:,l),xq); % use Fevq(:,l) to indicate that you want to assign value to a column
end
2 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
