配列の各要素を別の配列の変数として定義したい.

조회 수: 16 (최근 30일)
Soichiro Kato
Soichiro Kato 2020년 10월 12일
답변: Akira Agata 2020년 10월 12일
ある変数Aがあったとして,次のように定義されるとします.
>>A=[1 0.1 0.01]
このとき,別の変数Bを次のように考えたとき,Aの各要素がBの各要素に対応されるためには,どのように記述すればよろしいでしょうか。
>>B=[a b c d]
つまりここでやりたいことは,
a=0;b=1;c=0.1;d=0.01
とAの各要素である値を,Bの各要素である変数にコマンドラインから定義するのではなく,
AとBを用いて直接的にAの要素をBの要素に代入する方法が知りたいということです.
初歩的な内容かもしれませんが,ご教示下さい.
  댓글 수: 2
Akira Agata
Akira Agata 2020년 10월 12일
念のため確認させてください。
所望の処理内容は、上記の例のように「Bの要素数がAの要素数よりも多い場合、Aの要素をBに右詰めでゼロパディングする」という処理と理解して間違いないでしょうか?
Soichiro Kato
Soichiro Kato 2020년 10월 12일
ご返答ありがとうございます。
仰る通り,そのような処理を考えています.
配列の中身について,具体的には伝達関数の分母多項式あるいは分子多項式の各次数に対応する係数を考えています。
したがって,
上記の例では配列Bでは
aは3次,bは2次,cは1次,dは0次
配列Aでは
1が2次,0.1が1次,0.01が0次
です.
Bの要素数≧Aの要素数で考え,
次数が一致するように(右詰めで考えて),配列Aと次数が合わない部分の配列Bの要素(上記の例ではa)には0を代入したいということです.

댓글을 달려면 로그인하십시오.

답변 (1개)

Akira Agata
Akira Agata 2020년 10월 12일
詳細な説明、ありがとうございます。
それでは、以下のような方法ではいかがでしょうか?
A = [1 0.1 0.01];
B = zeros(1,4); % ベクトルBを初期値0で作成
n = numel(A); % ベクトルAの要素数
B(end-n+1:end) = A; % ベクトルAの各要素をBに右詰めで保存

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

태그

제품


릴리스

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!