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 輸入...