怎麼用matlab生成迴圈矩陣,matlab,怎樣將每次迴圈中生成的值存在一個矩陣裡?要簡單的方法。。。。。。

2022-12-20 16:11:06 字數 3871 閱讀 5868

1樓:影子愛蟲蟲

[email protected]% n點迴圈卷積

x1=[x1 zeros(1,n-length(x1))];

x2=[x2 zeros(1,n-length(x2))];

m=0:n-1;

t=0:n-1;

x2=x2(mod(-m,n)+1);

%反折h=zeros(n,n);

for n=1:n

m=mod(m-n+1,n);

h(n,=x2(m+1);

%迴圈移位

m=t;

end要生成一個n*n方陣,第一行是a1,a2,.,an,第二行是an,a1,a2,.,a(n-1),第三行以此類推,請問怎樣根據已知的向量a來生成迴圈矩陣:

a=[1:10];

n=length(a);

n=zeros(n);

for j=1:n

n(j,:)=circshift(a,[0,j-1]);end

2樓:一夜冷夢

樓上方法不錯!不過有個筆誤,a改成a

或用circshift迴圈移位函式也可以

a=[1:10];

n=length(a);

n=zeros(n);

for j=1:n

n(j,:)=circshift(a,[0,j-1]);

end自己看著辦

matlab,怎樣將每次迴圈中生成的值存在一個矩陣裡?要簡單的方法。。。。。。

3樓:依然特雷西

1、第一步開啟matlab,命令列視窗輸入a=[1 4 6;7 8 9] ,建立矩陣。

2、第二步輸入b=reshape(a,1,6),將a矩陣變成行向量,其中1是1行,6是a矩陣的元素個數。

3、按回車鍵之後,可以看到a矩陣已經變成行向量了。

4、輸入b=[a(1,:),a(2,:)],通過矩陣裁剪的方式,也可以將矩陣變成行向量。

5、按回車鍵之後,就完成了。

4樓:匿名使用者

你每次迴圈生成的值是什麼形式——標量,向量,矩陣,或是不定?標量的情況最簡單,如果是向量和矩陣,就要考慮你打算用什麼樣的形式儲存了。

通常採用兩種方法(以標量為例):

1、把新的結果存在下標為end+1的位置,陣列會自動擴充套件,例如:

a=; for i=1:10, a(end+1)=i^2; end

2、預置陣列(一般使用zeros),並設定一個計數器標記陣列當前的儲存位置,然後用該計數器作為下標進行儲存。例如:

a=zeros(10000,1); idx=0; while idx<10000, idx=idx+1; a(idx)=idx^(1/idx); end

前一種做法用起來可能更省事一些,但如果迴圈次數多,陣列反覆自動擴充套件會造成效率很低,這種情況應該考慮使用第二種方法。

5樓:匿名使用者

一。設 i 為迴圈次數,且只有一個迴圈,a 為要儲存的矩陣,b 為每次迴圈生成的資料。

那麼就在迴圈裡寫

a(i)=b;

二。設 i 為外迴圈次數,j 為內迴圈次數,a 為要儲存的矩陣,b 為每次內迴圈生成的資料。

那麼就在迴圈裡寫

a(i,j)=b;

如何用matlab生成迴圈矩陣我需要生成一個

6樓:匿名使用者

用circshift迴圈移位函式

a=[1:10];

n=length(a);

n=zeros(n);

for j=1:n

n(j,:)=circshift(a,[0,j-1]);end

(matlab)使用for迴圈產生以下矩陣:

7樓:匿名使用者

clear;

clc;

a(4,3)=0;

a(1,1)=4;

for i=1:3

a(i+1,1)=a(i,1)+6;

endfor j=1:2

a(1,j+1)=a(1,j)+4;

endfor i=2:4

for j=2:3

a(i,j)=a(i-1,j)+6;

endend

a執行結果:

8樓:匿名使用者

迴圈結構:for語句

格式:for 迴圈變數=表示式1:表示式2:表示式3迴圈體end

【注】:表示式1:迴圈變數初值,

表示式2:步長,為1時,可省略;

表示式3:迴圈變數終值。

或:for迴圈變數=矩陣表示式

迴圈體end

【注】:執行過程是依次將矩陣的各列元素賦給迴圈變數,然後執行迴圈體語句,直至各列元素處理完畢。

matlab中for迴圈的具體用法如下:

matlab 如何將for每迴圈一次產生的矩陣合併成一個大矩陣

9樓:匿名使用者

a=;for i=1:10 %a1至a10eval(['a',num2str(i),'=','rand(2,5)']); %a1至a10都是2行五列的矩陣,這個要改成你想要的

eval(['a=[a;a',num2str(i),'];']); %組合a=[a1;a2;a3;...]end

10樓:郭某人來此

搞定了,絕對是最簡潔,執行效率最高的演算法,就是不知道你能不能看懂。

程式如下:

clear;

clc;

x = rand(10,5); %%%%% 自己定義的矩陣

k = 3;

[a b] = size(x);

for ii = 1:k

var = x(ii:k:a,:);

eval(strcat( 'a',num2str(ii),'=var'));

end結果:

a1 =

0.2137 0.6103 0.3124 0.6759 0.4301

0.2296 0.9325 0.2905 0.3991 0.7425

0.9621 0.5735 0.6147 0.1051 0.4293

0.0058 0.2235 0.8272 0.3545 0.8497

a2 =

0.3978 0.8011 0.5845 0.2489 0.5722

0.9361 0.7633 0.4026 0.5994 0.7579

0.4380 0.7926 0.9912 0.8214 0.9563

a3 =

0.3337 0.2330 0.8299 0.4758 0.7008

0.6832 0.8264 0.8621 0.8005 0.3891

0.9403 0.3290 0.2037 0.8411 0.5730

11樓:匿名使用者

把此例子看懂

k = 0;

a = zeros( 3,1 );

for i = 1:3

k = k + 1 ;

a(i,1) = k ;

enda 回車鍵

12樓:匿名使用者

再迴圈里加a=[a,a(n)];

初始a=a1;

請問Matlab中如何生成某矩陣座標矩陣

其實不太清楚你要問什麼,如果你是要把原來的矩陣按列優先排成一行的話,用reshape就可以了 vec reshape a,1,x,y meshgrid 1 3,1 3 dm x y 這樣也可以 在matlab程式設計中,如何生成如下圖的二維座標矩陣?1 普通的數值矩陣的元素只能是一個數,不可能是這樣...

求助matlab如何利用小矩陣生成大矩陣

使用repmat 函式 來即可實現上述要求,具體 源過程如bai下 1 建立自定義函式repeat matrix a,m,n 保du存為repeat matrix.m function y repeat matrix a,m,n 將給定方zhi陣a擴充為m n的矩陣 n size a,1 rm fl...

在matlab裡如何用迴圈語句將矩陣中的每一

for i 1 5 假設5列 b i 結尾不加分號。就會顯示出結果end matlab中如何分別畫一個矩陣中的每列元素的影象?1 首先需要來知道求一個矩陣不同元素自個數,需要用到baiunique函式,du在命令列視窗中輸入 zhihelp unique 可以看到unique函式用法dao。2 輸入...