コロン ":"を関数の引数として使用できるかどうかを知りたいと思います。そのようなmatlabで関数の引数としてコロンを渡す
何か:
function y=func(x)
if x is a colon
do this
else
do that
end
は、関数の引数として、ワーク鍵を端を通過することが可能であり、また1:端、3:エンド5など... 私はそれが可能だとは思っていませんが、私は確信しています。
また、関数の引数として "1:end"を渡すと、エラーは発生しませんが、関数内では引数が割り当てられません(他の引数でさえも)。誰か何が起こるか知っていますか?
実際にこれを行う必要があるかどうかはわかりません。何を達成しようとしているのかをもう少し教えてください。あなたは確かにコロンを文字列 'もしx =="として渡すことができます: "..."、** end **は[size]を使って見つけることができます(http://www.mathworks.co.uk/help/techdoc /ref/size.html)、番号として渡されます。 – oleksii
はい、それを文字列として渡すとよい回避策になります....良いアイデア。 – Oli
これは、オーバーロードされた演算子 '()'の呼び出しの中で起こります。 'x(:)'を呼び出すと、 ':'はsubsrefまたはsubsasgnに文字列 '':''として入ります。それは妥当と思われる。 '=='の代わりに 'ischar(x)&& isequal(x、 ':')'を使用してください。 '=='はサイズの違いにエラーを投げ、偽陽性を生成します: '=='は暗黙の型変換を行います。したがって '58 == ':''は真です。 –