0

csvファイルに含まれている最初の中間期のスコアに対して簡単な統計分析を実行するE7statsという関数を作成したいと思います。この関数は、csvファイルの名前である1つの文字列入力filenameを受け取り、1つの出力1⇥2構造体配列Sを返します。この2つのエントリには、mean、std d ev、max、minの4つのフィールドが含まれています。これは、電子および紙ベースの中間スコアの平均、標準偏差、最大値、および最小値です。この関数は、30個の同じサイズのビンを持つ2つの中間1スコアの2つのヒストグラムも作成します。電子および紙ベースの中間1のスコアは、CSVの1列目と2列目に保存されます。

私の問題は、エラーが発生することです。

「mean」は、以前は関数またはコマンドとして使用されていたようで、ここでの変数名としての使用と矛盾しています。このエラーの考えられる原因は、変数の初期化を忘れたか、loadまたはevalを使用して暗黙的に初期化したことです。

エラーが発生する理由はわかっていますが、上記のように変数にmean、min、maxという名前を付ける必要があるため、エラーを修正する方法がわかりません。どんな提案も歓迎します。ありがとう!

function S= E7stats(filename)
filename='grades_E7MT1.csv';
S=csvread(filename,1,0);
stddev = std(S)
mean= mean(S)
min= min(S)
max= max(S)

私はインストラクターに尋ねました:

構造体配列の内容を表示する必要があります。または、フィールドを含む '1x2構造体配列とともに構造体配列を返す必要があります:平均stddev maxと彼は答えました:構造体は関数の出力です。コマンドウィンドウに表示する必要はありません。正しいフィールドと値があることだけを確認してください。

だから今、私は私の関数が何を出力すべきかについて本当に混乱していますか?ご迷惑をおかけして申し訳ありません!!

4

1 に答える 1

3

mean()関数名を変数の名前として使用しないでください。myMeanそれかそのようなものと呼んでください。

または、mean、min、maxなどのフィールド名を持つ構造を作成することもできます。

d.mean = mean();
d.min  = min();
于 2012-11-21T16:59:00.143 に答える