Problem Using Interp1 Within For Loop
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Ameer Hamza
2020-5-1
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Descriptive Statistics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!