How do I multiples of a number in an array
26 views (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
DGM
on 14 Jul 2021
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
2 Comments
dpb
on 15 Jul 2021
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
>>
See Also
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!