Compare two data in a column of matrix

조회 수: 1 (최근 30일)
Kim Lopez
Kim Lopez 2017년 10월 27일
답변: BhaTTa 2024년 10월 23일
Suppose i have a table with the following data below. Column C should be compared to column A. In the table, since -150 in column C is less than 0 in column A, then column D would copy the value of column B which is 2. The same with -50, since it is less than 0, then column D will have a value of 2. How can i implement this? Any help is appreciated.
A B C D
0 2 -150
100 3 -50
150 5 0
200 6 50
250 8 100
300 11 300
The result would something look like this
A B C D
0 2 -150 2
100 3 -50 2
150 5 0 2
200 6 50 3
250 8 100 3
300 11 300 11
  댓글 수: 1
Chandra Sekhar Mattupalli
Chandra Sekhar Mattupalli 2017년 10월 27일
All the rows in column C needs to be compared with first row element of Column A?

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

답변 (1개)

BhaTTa
BhaTTa 2024년 10월 23일
Hey @Kim Lopez, you can use logical indexing to compare the values and assign them, below i have provided the code implementing the same:
% Sample data
A = [0; 10; 20];
B = [2; 4; 6];
C = [-150; -50; 25];
% Initialize D with NaN or some other placeholder
D = NaN(size(C));
% Apply the logic: if C is less than A, then D gets the value of B
D(C < A) = B(C < A);
% Display the results
result = table(A, B, C, D)
result = 3x4 table
A B C D __ _ ____ ___ 0 2 -150 2 10 4 -50 4 20 6 25 NaN
Hope it helps.

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by