How can one define this variable in an elegant way?

3 views (last 30 days)
I want to define a variable x that is 300*1 vector. For the first 150 element, it is defined as an innerproduct of the first 150 element of a that is 300*1 and b that is 150*1. For the remaining 150 element, it will be defined by polyval(s1) of the remaining 150 element of a. I wrote
x=zeros(300,1)
for i=1:150
x(i,1)=a(i,1)*b(i,1)
end
for i=151:300
x(i,1)=polyval(s1,a(i,1))
end
But how can one write it in a more compact way?

Accepted Answer

David Hill
David Hill on 1 Jun 2020
x(1:150)=a(1:150).*b;
x(151:300)=polyval(s1,a(151:300));

More Answers (0)

Categories

Find more on Software Development Tools in Help Center and File Exchange

Tags

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!