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"?

3 vues (au cours des 30 derniers jours)
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 commentaires
Keith Adams
Keith Adams le 29 Mar 2021
I hvae this error too - did you get a resolve tng?
tng
tng le 29 Mar 2021
Modifié(e) : tng le 29 Mar 2021
@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).

Connectez-vous pour commenter.

Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by