フィルターのクリア

How do I shuffle a set of matrix to find the difference with another matrix?

2 ビュー (過去 30 日間)
Lakyn
Lakyn 2016 年 8 月 20 日
コメント済み: James Tursa 2016 年 8 月 20 日
Hi guys!
So my problem now is that I have two sets of data, both in the form of a matrix of 76x2000. Lets call them A and B.
For one of the matrix (lets say A), I want to relocate at random all the values in the matrix. And then, I will use that random matrix to subtract B and get a difference. I want to do this 1000 times (so basically (1000 different shuffled A) - B) and get an average value of the difference. Can someone please help me put this in a function?
Thank you very much.

採用された回答

James Tursa
James Tursa 2016 年 8 月 20 日
A = whatever
B = whatever
m = 1000; % Number of trials
n = numel(A);
C = zeros(1,n);
for k=1:m
C = C + A(randperm(n));
end
result = reshape(C/m,size(A)) - B;
  5 件のコメント
Lakyn
Lakyn 2016 年 8 月 20 日
Hey!
Sorry, but ignore my previous question. I have fixed that. But regarding the code you wrote, I run the function and I get like 2000 columns worth of result in the command window, but how do I save it into the workplace section?
Thank you!
James Tursa
James Tursa 2016 年 8 月 20 日
When calling a function that returns a variable:
myfunction(myinputs etc) % <-- Splash the result to the display screen
x = myfunction(myinputs etc); % <-- Save the result to variable x
Be sure to use the semi-colon at the end of the line to suppress the result splashing to the display screen.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by