for文を用いた繰り返し計算と、計算過程を全て表示させる式について
조회 수: 57 (최근 30일)
이전 댓글 표시
MATLABで列を上から順に計算して、計算が終わったら次の列の計算をするループ文を作りたいのですが、上手く作れないので式などを用いて教えて頂きたいです。
順番はaの1列目を上から順に計算して、終わったら2列目を上から順に計算の順です。
もっと詳しくすると、aの1列目は、bとcの1つ目を使って計算。
2列目は、bとcの2つ目を使って計算。
また、for(ループ)文での途中の計算式をセル数分の空白を作って全て表示させたいです。
以下の式は、実際にやってみたものになります。
仮
使用する式
x=(a-b)/c
a =
1 2 3 4
5 6 7 8
9 10 11 12
b =
20 21 22 23
c =
30 31 32 33
結果は4×4の行列で表示
イメージはこんな感じになります。
教えて頂けると幸いです。
返信転送
댓글 수: 0
채택된 답변
Atsushi Ueno
2023년 5월 16일
a = [1 2 3 4; 5 6 7 8; 9 10 11 12];
b = [20 21 22 23];
c = [30 31 32 33];
for col = 1:size(a, 2)
x(:, col) = (a(:, col) - b(col)) / c(col); % aのn列目は、bとcのn番目を使って計算
disp([char(col+'0') '列目:']);
curcol = regexprep(num2str(a(:, col)'),'\s+',';');
disp(['x = (a - b) / c = ([' curcol '] - ' num2str(b(col)) ') / ' num2str(c(col))]);
x % 結果は4×4 (3x4?) の行列で表示
end
댓글 수: 0
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!