Help with linear optimisation problem
이 질문을 팔로우합니다.
- 팔로우하는 게시물 피드에서 업데이트를 확인할 수 있습니다.
- 정보 수신 기본 설정에 따라 이메일을 받을 수 있습니다.
오류 발생
페이지가 변경되었기 때문에 동작을 완료할 수 없습니다. 업데이트된 상태를 보려면 페이지를 다시 불러오십시오.
이전 댓글 표시
0 개 추천
Hi folks,
I'm looking to conduct a linear optimisation and was hoping for some help on the matter.
I have 56 columns of data, with 256 rows each; lets call this set A. I have another column of data, with 56 rows; lets call this set B. I essentially want to correlate each of the 256 values in each column of set A to a single value in set B; lets call this set C.
I want to know which of the 256 values across set C give the best correlation between sets A and B. In other words, which row in set A gives the best correlation to the corresponding value in set B, across all columns of set A.
Any help on this matter would be most appreciated!
채택된 답변
Diffs=abs(reshape(B,1,1,[])-A);
d=min(Diffs,[],3);
[Arows,Acols]=find(d==min(d(:)));
댓글 수: 11
Teshan Rezel
2022년 1월 25일
@Matt J Hi, thanks for this! I'm just having an issue with the first line of your code as it says reshape doesn't work on tables...any ideas on how I can get around this please?
Matt J
2022년 1월 25일
You can use table2array to convert them to ordinary matrices.
@Matt J Thank you! I tried that but now it throws out this error, although my data is in tables, not cells!
Operator '-' is not supported for operands of type 'cell'.
Matt J
2022년 1월 25일
My solution assumes all variables are numeric matrices. If this isnt' the case for one/all of your variables, you need to convert them appropriately.
@Matt J I've made sure that all values in the tables are numeric, but it now says :
Error using tabular/reshape (line 216)
Undefined function 'reshape' for input arguments of type 'table'.
I'm not sure what's causing this now!
I've made sure that all values in the tables are numeric
Again, they shouldn't be tables. They should be matrices. To convert tables to matrices, see table2array() which I mentioned earlier.
Teshan Rezel
2022년 1월 31일
Matt J
2022년 1월 31일
What about A?
Teshan Rezel
2022년 1월 31일
A=load('inputVariables').sum_Coke;
B=load('inputVariables').CRI;
B=B.CRI;
whos A B
Name Size Bytes Class Attributes
A 256x54 110592 double
B 54x1 432 double
Diffs=abs(reshape(B,1,1,[])-A);
d=min(Diffs,[],3);
[Arows,Acols]=find(d==min(d(:)));
whos Arows Acols
Name Size Bytes Class Attributes
Acols 84x1 672 double
Arows 84x1 672 double
Teshan Rezel
2022년 1월 31일
@Matt J outstanding, thank you!
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
