Help with linear optimisation problem
显示 更早的评论
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 个评论
@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?
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'.
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.
What about A?
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
@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)
