在matlab中如何將矩陣進行全排列

2021-03-04 01:50:05 字數 2437 閱讀 4323

1樓:匿名使用者

舉例:a=randn(4,3);

a=a(:)

a=sort(a);

a=reshape(a,4,3);

2樓:井敏富欣可

a=magic(5);

%a為資料矩陣,你改你的資料即可。

n=numel(a);

a(ceil(rand(1)*n))

在matlab中、如何進行全排列

3樓:匿名使用者

a=perms([1 2 3 4 5 0 0]);

a1=find(a(:,1)==0);a2=find(a(:,7)==0);

aa=union(a1,a2);

a(aa,:)=;

da=diff(a,1,2);

[i,j]=find(da==0);

a(i,:)=;

matlab全排列 急!!

4樓:匿名使用者

你的這個是2行11列,要全排列方式為;首先要定義這個矩陣才行。

perms(a(1,:))和perms(a(2,:)),舉個例子吧:

a=[1 2 3;4 5 6]

a =1 2 3

4 5 6

>> perms(a(1,:))

ans =

3 2 1

3 1 2

2 3 1

2 1 3

1 2 3

1 3 2

>> perms(a(2,:))

ans =

6 5 4

6 4 5

5 6 4

5 4 6

4 5 6

4 6 5

我相信你明白了,呵呵。

5樓:廖鮮于白霜

function strc=funstr2(str1,str2)clc,

%檢驗引數是否是字串

ls1=length(str1);

for i=1:ls1

if ~ischar(str1(i))

error('input must be string');

endend

ls2=length(str2);

for i=1:ls2

if ~ischar(str2(i))

error('input must be string');

endend

slen=ls1+ls2;

a=nchoosek(1:slen,ls1);

[m,n]=size(a);

a1=zeros(m,slen);

for i=1:m

for j=1:n

a1(i,a(i,j))=1;

endend

strc=cell(m,1);

for ir=1:m

ic=1;

i1=0;

i2=0;

output=;

while ic<=slen;

if(i1<=ls1)&(a1(ir,ic)==1);

i1=i1+1;

output(ic)=str1(i1);

else if (i2<=ls2)&(a1(ir,ic)==0)i2=i2+1;

output(ic)=str2(i2);

endendic=ic+1;

endstrc=char(output);end

matlab中全排列的問題 10

6樓:功誠蹉燕

perms

產生所有可能的排列語法p

=perms(v)p=

perms(v),這裡v是一個長度為n的行向量,此函式產生v中這n個元素的全排列矩陣,每行為一個排列。矩陣p包含有n!

7樓:真

clear;clc

n=4;

m=3;

x=nchoosek(1:n,m);

y=cell2mat(arrayfun(@(k)perms(x(k,:)),1:nchoosek(n,m),'uniformoutput',0)')

z=nchoosek(n,m)*prod(1:m)

用matlab怎樣寫出一維陣列(或向量)的全排列組合?

8樓:匿名使用者

我只說方法。

(1)用perms

(2)先用nchoosek寫出組合,再對其每種組合用perms進行全排列即可。

matlab程式設計中,如何將一矩陣中等於某個值的元素全部替換成

方法bai如下 1 比如說是2階方陣du,現在對其zhi中的元素進行一些運算並dao把結果重新賦值到 回另一個矩陣中答,proc iml beta q12 beta 1,1 2 q22 beta 2,2 2 3 q print beta q12 q22 q 2 方法 proc iml beta q ...

如何將matlab中simulink的示波器的波形匯入到小波變換工具箱

matlab 有個workspace的空間,你示波器上的值會在那上面顯示,把上面的值匯入就可以了!把simulink資料匯出到工作空間就可以了吧,toworkspace模組 matlab中simulinkscope示波器中的波形如何轉化為函式?我記得圖形可以匯出為資料,當匯出資料後,就可以用exce...

matlab中如何將迴圈語句裡產生的向量放到矩陣裡

clear clcx zeros 10,10 for t 1 10 for m 1 10 x t,m t m endend a x a即為所求 標量的情況最簡單,如果是向量和矩陣 matlab,怎樣將每次迴圈中生成的值存在一個矩陣裡?要簡單的方法。1 第一步開啟matlab,命令列視窗輸入a 1 4...