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

29 visualizaciones (últimos 30 días)
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 comentarios
tng
tng el 29 de Mzo. de 2021
Editada: tng el 29 de Mzo. de 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).

Iniciar sesión para comentar.

Respuesta aceptada

Keith Adams
Keith Adams el 29 de Mzo. de 2021
I resolved this issue by defining D in the main cssmooth function ...
Hope this helps

Más respuestas (0)

Categorías

Más información sobre Get Started with MATLAB en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by