Writing a function for an interpolation method
显示 更早的评论
Hello all
I wonder if someone could help me. I've been writing a function to use a certain type of interpolation method. The 2D section of it works, however I'm having a problem with the 3D part of it. My supervisor has also edited it and we're still getting an error. I've attached the function and my test script. The error we keep getting is:
Output argument "output" (and maybe others) not assigned during call to "interp_azonal3Dv2".
Error in test (line 55)
[vel_test] =interp_azonal3Dv2(x,y,sigloc,lvls,tri,vel); % 6 variables
Any help is much appreciated :)
P.s. you won't be able to run the function because it calls on data that I can't post on this website.
7 个评论
Andreas Brinch Nielsen
2017-1-19
编辑:Andreas Brinch Nielsen
2017-1-19
If all([e1,e2,e3]) ~= 0 you don't specify the output.
This propably happens because you meant to delete an "end" in line 102 and add it to the end of the file.
If you delete the ... in the end of if and for lines, the indentation can be automatically adjusted which will show you these kinds of errors.
Meghan
2017-1-19
Adam
2017-1-19
Simple way to solve this error is just to put
output = [];
right at the top of your function. Of course this will just lead you to a new error because presumably your calling code is not expecting to ever get [] from calling the function so you will still have to work out which path of your function is failing to assign anything to 'output'.
Andreas Brinch Nielsen
2017-1-19
Your code looks like this:
narg==6
...
if all([e1,e2,e3]) == 0 ,...
output = field(i);
else
x0c = xloc - xc(i);
y0c = yloc - yc(i);
end
If the if condition does not equal to true, it is not set. If you move the "end" from line 102 to the end, it should be set later on, but not as the code was posted.
Andreas Brinch Nielsen
2017-1-19
Now it is not set when the following line equals to true:
if length(lvls)==kbm-1; %!da
Again, auto indent your whole script. This helps you finding these errors. Also, a simple line by line debugging would also show you exactly what is happening.
Meghan
2017-1-19
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Interpolation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!