필터 지우기
필터 지우기

How to combine multiple numbers into 1 number?

조회 수: 18 (최근 30일)
Hieu
Hieu 2023년 2월 25일
댓글: Steven Lord 2023년 2월 25일
I have the numbers R1, R2, Zr1, that I want to fuse together into 24000 . Zr1 is an array, while R1 and R2 are double. I have tried strcat but it only produces 240 0 0 which is not the intended 24000
R1 = 2
R2 = 4
Zr1 = 0 0 0
  댓글 수: 1
Stephen23
Stephen23 2023년 2월 25일
"Zr1 is an array, while R1 and R2 are double"
All doubles are arrays. Scalars are not a separate type, because in MATLAB everything is an array:

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

채택된 답변

Stephen23
Stephen23 2023년 2월 25일
편집: Stephen23 2023년 2월 25일
General solution:
R1 = 2;
R2 = 4;
Zr1 = [0,0,0];
V = [R1,R2,Zr1];
N = 10.^(numel(V)-1:-1:0) * V(:)
N = 24000
  댓글 수: 4
Stephen23
Stephen23 2023년 2월 25일
"can you explain how N = 10.^(numel(V)-1:-1:0) * V(:) works?"
Break code down to know how it works. You can do this yourself.
R1 = 2;
R2 = 4;
Zr1 = [0,0,0];
V = [R1,R2,Zr1] % so V is a 1x5 vector: [10000's,1000's,100's,10's,1's]
V = 1×5
2 4 0 0 0
Clearly all we need to do is to multiply the elements of V by the corresponding power of ten, and then add them together. Note that [10000,1000,100,10,1] is just [1e4,1e3,1e2,1e1,1e0] which is just 10.^[4,3,2,1,0]. So that is very easy to generate:
P = numel(V)-1:-1:0
P = 1×5
4 3 2 1 0
Q = 10.^P
Q = 1×5
10000 1000 100 10 1
Then one simple matrix multiplication does both the multiplying and the addition:
Q * V(:)
ans = 24000
Steven Lord
Steven Lord 2023년 2월 25일
Another way to generate the Q vector is with logspace.
Q = logspace(4, 0, 5)
Q = 1×5
10000 1000 100 10 1

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

추가 답변 (1개)

Alan Stevens
Alan Stevens 2023년 2월 25일
편집: Alan Stevens 2023년 2월 25일
Do you mean
R1 = 2; R2 = 4; Zr1 = [0 0 0];
R = R1*10^4+R2*10^3+Zr1(1)*10^2+Zr1(2)*10+Zr1(3)
R = 24000
Alternatively:
R1 = 2; R2 = 4; Zr1 = [0 0 0];
R = [R1, R2, Zr1]
R = 1×5
2 4 0 0 0
M = 10.^[4 3 2 1 0]
M = 1×5
10000 1000 100 10 1
R = M*R'
R = 24000

카테고리

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

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by