2012-02-25 18 views
0

私はこの問題を抱えています。私は、メイン画面のMATLABに以下のコードを書いても問題がありません。Matlabエディタの問題、バグ?

しかし、私がエディタに書き込むと、それは無効な構文であると文句を言う。 何が間違っているのか、それともバグですか?

私のエディタページで、コンパイラは、可能な括弧が欠落していることを示す=記号を付けます。しかし、私はMatlabのラインのコンパイラで動作する理由を理解していない!

+0

エディタは 'mean = Ques1 {1}(data(:、1))'行に黄色または赤のアラートを表示しますか? – macduff

+0

それは私に赤い警告を与える – anon

+0

2行目のデータ変数には何がありますか? – macduff

答えて

3

これらの2行のコードは絶対に正しいです。あなたのコードのどこかに、左括弧を忘れています。 [、{、(

+1

+1エディタでCtrl-A Ctrl-Iを押して、構文に基づいてインデントを変更してみましょう。これは不一致の括弧を見つけるのに役立ちます。 –

0

私は現時点でMatlabにアクセスできないので、これをテストすることはできませんが、あなたの構文は私には見えません。これを試してみてください:

Ques1 = {@(data)mean, @(data)std}; 
mean = Ques1{1}(data(:,1)) 

あなたのデバッガであなたの方法を実行する場合、それはあなたのセル配列に何個あると言いますか?

2

EDIT私が言っていたものをg24l理解する!はい、それはおそらくあなたの問題の元凶である。

ないあなたが使用しているMATLABのバージョンを確認しますが、ときに私がそれはR2007BとR2009Bに完璧に動作

data = kron(1:25,transpose(1:25)); % very simple 2D matrix of data; 

Ques1 = { @(data) mean(data) @(data) std(data) }; 
mean1 = Ques1 {1} (data(:,1)) % runs perfectly on the main compiler screen 

、古いまたは新しいバージョンを使用している私はあなたのスクリプトに忍び寄る他のいくつかの問題がある疑いがある。また、次の問題として:非常に簡単なスクリプトを実行します?。 Mathworksはプログラミング手順を推奨し、私は励ますだろう年齢はではなく、で、変数または関数の名前を別の変数または関数と同じ名前にします。この例では、私はmean = ...を参照しています。このようなものを混ぜて厄介な問題を起こすのは簡単です。より多くのヘルプが必要な場合は、あなたのスクリプトをもっと投稿してください。お役に立てれば!