How do I force MATLAB treat my variable 'range' as a variable instead of a function ?
古いコメントを表示
I am doing a project for my sponsor. In the data he gives me, there is a matrix called 'range'. When I use this variable 'range' in my own function, MATLAB always treats it as its build-in function and gives me error. Since I cannot ask my sponsor to change the name of the variable, is there a way to force MATLAB treat 'range' as a variable ?
2 件のコメント
Firepanda415
2017 年 5 月 2 日
Stephen23
2017 年 5 月 3 日
- Never simply load into the workspace and make variables magically appear in the workspace. Always load into an output argument (which is a structure): S = load(...);
- Do not use the variable name range. Always use which to check if a name is already in use.
Note that if you had load-ed into a structure then this issue would never have occurred!
採用された回答
その他の回答 (1 件)
Alessandro
2017 年 5 月 2 日
0 投票
Simply create a copy of the variable assigning a different name?
3 件のコメント
Firepanda415
2017 年 5 月 2 日
Alessandro
2017 年 5 月 2 日
編集済み: Alessandro
2017 年 5 月 2 日
I still don't understand the problem, as long as the 'range' variable is correctly indicized in the function. The following MWE works for me:
function [ range ] = test( range )
range = 2*range;
end
if I call
range = [1 2;3 4];
range = test(range)
from the workspace the result is
range =
2 4
6 8
Firepanda415
2017 年 5 月 2 日
カテゴリ
ヘルプ センター および File Exchange で Variables についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!