質問: integralcalc(fun,a,b,opstruct); エラー: effect_of_beam_current (line 66) sekibunx=integral(x,inf,0); 自分で試したこと 実は現在のエラーが発生する前、計算は何かがおかしく正しい計算がされない状態であったもののコード自体は全部走らせることはできました。 コードを拡張してtとiを行列にしての計算を試みました。 結果、同じ場場所で次元が違うとか正方行列になっていないのではとか出てきたので、 仕方なく現在のように行列として表記しないようにしています。 しかしながら現在も「行列をべき乗にするには次元が正しくありません。行列が正方行列で、べき指数がスカラーであることを確認 してください。行列を要素ごとにべき乗するには、'.^' を使用してください。」 と、行列を使用していないにも関わらず表示されているため非常に困惑しています。 不明な点がありましたら対応致します。 何卒よろしくお願いいたします。
回答: noruji muto様 エラーメッセージの以下の箇所に着目してみました。 エラー: effect_of_beam_current>@(t)(t^5)*exp(-(em/(4*kb*te))*(t^2)+t) 先ず t = 700 . . . fai=(et*tee)/e;%粒子の表面電位 syms t em=450;%一次電子の最大降伏エネルギー_450ev(数値は指定されたもの。) x=@(t) (t^5)*exp(-(em/(4*kb*te))*(t^2)+t); 上記 fai までの定義が正しいとして、関数ハンドル "x" を作成している式の "演算子" に問題があるように見えます。 引数 t の演算に関連する演算子は行列演算ではなく、要素毎の演算となるのではないでしょうか? (以下のように) x=@(t) (t.^5).*exp(-(em/(4*kb*te))*(t.^2)+t); 上記で発生していたエラーは取り除くことができます。 stozaki