2 つの多項式を合計する組み込みの Matlab 関数を探しています。
例:
p1(x) と p2(x) は、コード標準の Matlab ベクトルで表されます。
p1 = [500 400 300 200 100 50];
p2 = [3 2 1 5];
これら 2 つの多項式を合計して、組み込みの Matlab 関数を使用して ps(x) を取得するにはどうすればよいですか? 明示的な m-file 関数を書かずに?
2 つの多項式を合計する組み込みの Matlab 関数を探しています。
例:
p1(x) と p2(x) は、コード標準の Matlab ベクトルで表されます。
p1 = [500 400 300 200 100 50];
p2 = [3 2 1 5];
これら 2 つの多項式を合計して、組み込みの Matlab 関数を使用して ps(x) を取得するにはどうすればよいですか? 明示的な m-file 関数を書かずに?
単純。ちょっとした関数を書いて、それを leftpadz と呼びます。
leftpadz = @(p1,p2) [zeros(1,max(0,numel(p2) - numel(p1)))),p1];
だから私たちが持っているなら...
p1 = [500 400 300 200 100 50];
p2 = [3 2 1 5];
p3 = leftpadz(p1,p2) + leftpadz(p2,p1)
p3 =
500 400 303 202 101 55
もっと良い方法があることを願っています(おそらくこれをヘルパー関数に入れます)が、これはうまくいくようです:
[zeros(1, size(p1,2)-size(p2,2)) p2] + [zeros(1, size(p2,2)-size(p1,2)) p1]
ans =
500 400 303 202 101 55
これを試しましたか:
p1 = [500 400 300 200 100 50];
p2 = [0 0 3 2 1 5]; # refilling with 0
ps = p1 + p2;