Why do I get the error "Identifier 'D' is not a function or a shared variable. To share 'D' with nested function, initialize it in the current scope"?

33 次查看(过去 30 天)
I got this matlab toolbox called WAFO (Wave Analysis for Fatigue and Oceanography) and when I try to use one of their function files (see attached file), I get the following error:
"Identifier 'D' is not a function or a shared variable. To share 'D' with nested function, initialize it in the current scope. For more information, see Sharing Variables Between Parent and Nested Functions."
I checked this document but I could not resolve the issue. I would highly appreciate if anyone could use this function file with the inputs stated in the comments in the file and help me solve this problem. (I know it's a fairly long file but the error is to do with only 1 variable).
  4 个评论
tng
tng 2021-3-29
编辑:tng 2021-3-29
@Keith Adams Yeah, I basically edited line 141 and wrote this:
[u,D] = computeU();
It used to output only u. In addition to this, I edited a nested function (line 203) with the following line:
function [u,D] = computeU()
Hope this helps. Also if you are using WAFO like me, I cannot guarantee this is what the person who created this toolbox intended to do. But it seems to be working and I get their results (I think).

请先登录,再进行评论。

采纳的回答

Keith Adams
Keith Adams 2021-3-29
I resolved this issue by defining D in the main cssmooth function ...
Hope this helps

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by