# How do I multiples of a number in an array

조회 수: 7(최근 30일)
Emmanuel Lebile 2021년 7월 14일
댓글: dpb 2021년 7월 15일
How do I create array with following properties: For the first row, each element is 8 times the corresponding element of x. For the second row, each element is 2 times the square of the corresponding element of x followed by a subtraction 1.

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

### 채택된 답변

DGM 2021년 7월 14일
Depends how far you want to go with it. You could leverage implicit array expansion to do it in a way that might make a more general solution a bit easier.
x = 1:10;
k = [8; 2];
p = [1; 2];
a = [0; 1];
A = k.*x.^p - a
A = 2×10
8 16 24 32 40 48 56 64 72 80 1 7 17 31 49 71 97 127 161 199
##### 댓글 수: 2표시숨기기 이전 댓글 수: 1
dpb 2021년 7월 15일
I had thought of polyval but was/is unfortunate it isn't internally vectorized --
x=1:3;
b=[0 8 0;2 0 -1];
>> [polyval(b(1,:),x);polyval(b(2,:),x)]
ans =
8.00 16.00 24.00
1.00 7.00 17.00
>> cell2mat(arrayfun(@(i)polyval(b(i,:),x),1:size(b,1),'uni',0).')
ans =
8.00 16.00 24.00
1.00 7.00 17.00
>>

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

### 추가 답변(1개)

dpb 2021년 7월 14일
편집: dpb 2021년 7월 14일
Well, what have you tried? Follow the recipe given --
y=[8x;2*x.^2-1]; % x is vector
If size(x) --> 2,N, then will need to subscript the above appropriately or clarify what the definition really means.

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

R2012a

### Community Treasure Hunt

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

Start Hunting!

Translated by