[解決済み] Matlabでシンプソンの1-3 (h / 3)メソッド
2022-02-09 09:50:13
質問
シンプソンの 1-3 (h / 3) 法に従って次の積分を求める C のコードは次のとおりである。コードの空欄を適切に埋めよ。 この問題をMatlabで解きたいのですが、解けませんでした。これは簡単な質問ですが、私はそれを行うことはできません。もし誰かが私を助けてくれるなら、私は非常に幸せになるでしょう。
[Cコード版 2
このコードブロックをMatlabで試してみました。
% Ask for user input
% Lower bound (a)
a = input('What is your lower bound (a)?')
% Upper bound (b)
b = input('What is your upper bound (b)?')
% Subintervals
N = input('How many subintervals (N)?')
% Defining function
f = @(x,e) (e*x+sin(x))
% Finding h
h=(b-a)/N;
% Finding the values of x for each interval
x=linspace(a,b,N);
% Calculating the integral
for i = 1:N-1
I(i)= (h/3)*(f(x(i))+(4*f((x(i)+x(i+1))/2))+f(x(i+1)));
end
answer1 = sum(I)
disp(I)
% adding f(b) to sum
val2=ff(length(xx));
sum=val1+val2+sum;% set sum
% set result
result=sum*h/3;
解決方法は?
MATLABはシンボル
e
をネペリアン数(オイラー数)と呼びます。MATLAB でオイラー数を生成するには、指数関数
exp(x)
,
e = exp(1)
,
したがって、まず、関数の定義を修正します。
F = @(x) exp(1).^x + sin(x) % Always try to use Upper-Case letters for your variable/function name
次に、以下のスニペットを使って、シンプソンの1/3を使って積分を計算することができます。
a = 0; b = 3; N = 1e4;
F = @(x) exp(1).^x + sin(x);
h = ((b-a)/2)/N;
x = linspace(a,b,N);
I = 0;
for i = 1:N-1
I = I + h/3*(F(x(i)) + 4*F((x(i)+x(i+1))/2) + F(x(i+1)));
end
disp(I)
% To compare your result:
Itz = trapz(x, F(x))
関連
-
[解決済み] double 型の入力引数に対して未定義の関数 'int' が存在する [重複] 。
-
[解決済み] Matlab. 位置2のインデックスが配列の境界を越えています(1を超えてはいけません)。
-
[解決済み] MATLAB: symからlogicalへの変換ができない
-
[解決済み] エラー --> 整数には同じクラスの整数か、スカラー倍数しか組み合わせることができません。
-
[解決済み] MATLABでベクトルの線形スパンを求める
-
[解決済み] MatLab: 関数の引数を設定する
-
[解決済み] Matlabでεの機械値を求める
-
[解決済み] matlabでchi2gof関数を理解する
-
[解決済み] 簡単な面接問題が難しくなった:1~100の数字が与えられたとき、ちょうどk個の数字が欠けていることを見つけなさい。
-
[解決済み] JavaScriptで整数の除算を行い、余りを別途取得する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】2つのベクトル間の角度 matlab
-
[解決済み] MATLABで「連結される配列の次元が一致しない」というエラーをデバッグする。
-
[解決済み] Matlabで列ベクトルを反復処理する方法は?[重複].
-
[解決済み] なぜSIFTはMatlabで利用できないのですか?
-
[解決済み] エラー「Improper assignment with rectangular empty matrix」の解決方法を教えてください。
-
[解決済み] MATLABとラスタープロット
-
[解決済み] MATLABでベクトルの線形スパンを求める
-
[解決済み] 行列の行にノルム関数を適用する - Matlab [duplicate]
-
[解決済み] matlabで三角行列を作る
-
[解決済み] MATLABでヒストグラムを正規化する方法は?