symfun to sym conversion error only in a Function (not Script)

12 ビュー (過去 30 日間)
amin ya
amin ya 2019 年 3 月 13 日
コメント済み: amin ya 2019 年 3 月 14 日
When I use the following code as a script it works without any error.
% function [A]=myFun()
syms t real %time
syms w(t)
w=formula(w);
% I use this to convert symFun to sym
% so I can access to "A" matrix elements which uses w
A=[sin(w);cos(w)]; % "A" matrix is now a 2*1 sym instead of a 1*1 symfun
% end
But when I want to use the code inside a function which passes A matrix as an output, and I call the function I get this error:
"w" previously appeared to be
used as a function or command,
conflicting with its use here as
the name of a variable.
A possible cause of this error is
that you forgot to initialize the
variable, or you have initialized
it implicitly using load or eval.
  2 件のコメント
Walter Roberson
Walter Roberson 2019 年 3 月 13 日
Try using W=formula(w) and referring to W afterwards -- so that you are not overwriting function w with non-function w.
amin ya
amin ya 2019 年 3 月 14 日
Thank you, it works! It was as easy as changing the name.

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeConversion Between Symbolic and Numeric についてさらに検索

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by