Assigning values to vectors of different lenghts
조회 수: 2 (최근 30일)
이전 댓글 표시
Hello,
I've got three vectors, say a(1x4), b(1x4) and c(1x10). Vectors a and c represent the same thing, they are just codes. Vector b let's say it's my objective function.
a = [1 2 3 4]
b = [0.1 0.2 0.3 0.4]
c= [ 4 4 4 2 2 1 3 3 1 4].
I want to get another vector d, which will have the same dimensions as vector d (10x1) and in which the values of vector b will be assigned.
d should be like d = [0.4 0.4 0.4 0.2 0.2 0.1 0.3 0.3 0.1 0.4].
Any thoughts on this?
Many thanks
댓글 수: 0
채택된 답변
Konstantinos Sofos
2015년 3월 27일
편집: Konstantinos Sofos
2015년 3월 27일
Hi,
if your starting point is that you have a and c you can make d from b as
[~,idx] = ismember(c,a);
d = b(idx);
>> d
d =
0.4000 0.4000 0.4000 0.2000 0.2000 0.1000 0.3000 0.3000 0.1000 0.4000
추가 답변 (1개)
Jon
2015년 3월 27일
It's not clear what you need a for. You can make d directly from c and b as follows:
>> d=b(c)
d =
0.4 0.4 0.4 0.2 0.2 0.1
0.3 0.3 0.1 0.4
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Vehicle Network Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!