あなたは行くように値をプロットする方法はありますか?何とかプロット関数にxとyの値を1つずつ渡します。私は本当に高価なループを持っていると私はループ内で直接プロットを使用して周りの唯一の方法(私は誰かのコードでこれを見たと思う)配列内の各yの値を保存するかもしれないと思う。 Attempted to access Y(1.00202); index must be a positive integer or logical.
Matlab:計算中に値をプロットする方法は?
例コード:
function n = get_nodes(x_s, x_e, e_k)
y_prev = 0; y_curr = 1;
h = 10^-5;
n = 0;
for x = x_s+0.1:h:x_e-0.1
a = 2 + (5/6)*forcing(x, e_k)*h^2;
b = 1 - (1/12)*forcing(x-h, e_k)*h^2;
c = 1 - (1/12)*forcing(x+h, e_k)*h^2;
y_next = (a * y_curr + b * y_prev)/c;
y_prev = y_curr;
y_curr = y_next;
if (y_next == e_k)
n = n + 1;
end
% gives empty plot
plot(x, y_curr);
end
end
これは本当に魅力のように働きました。あなたの提案は非常に高く評価されています。強制は、単一のパラメータを持つ他の関数で使用されますが、可変数のパラメータを持つ関数を作成できるか、または配列が渡されているかどうかを確認できませんか? – anegrea
"要素ごとの演算"(標準演算子の前にドットを使用)とおそらく 'bsxfun'を調べると、これらはスカラーとベクトルの両方で機能する関数を作成するのに役立ち、Matlabの効率はすべてベクトル化に関するものです! – Wolfie