matlab中如何將多矩陣儲存在檔案中,由於迴圈每一次

時間 2022-01-13 11:20:03

1樓:匿名使用者

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

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

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

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

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

2樓:依然特雷西

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、按回車鍵之後,就完成了。

3樓:匿名使用者

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

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

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

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

4樓:匿名使用者

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

那麼就在迴圈裡寫

a(i)=b;

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

那麼就在迴圈裡寫

a(i,j)=b;

matlab 怎麼在for迴圈中儲存每一次迴圈得到的值並儲存在矩陣中?

5樓:無為

matlab下標是用括號表示的

l = 4; % l劃分層數

for i = 1:l-1;

b_latitude=pi/l; % l劃分層數

latitude(i)= i*b_latitude; %第i層時的緯度

latitude(i)= pi-i*b_latitude; %計算天頂距

b_longitude(i)= acos((cos(b_latitude)-(cos(latitude(i)))^2)/(sin(latitude(i)))^2); %每層上的經度差

ni=floor(2*pi/b_longitude(i)); %每條緯線上的格網點數

for j=1:ni;

longitude(i,j)= (j - 0.5)*2*pi/ni; %經度

endend

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

6樓:匿名使用者

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

7樓:郭某人來此

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

程式如下:

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

8樓:匿名使用者

把此例子看懂

k = 0;

a = zeros( 3,1 );

for i = 1:3

k = k + 1 ;

a(i,1) = k ;

enda 回車鍵

9樓:匿名使用者

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

初始a=a1;

matlab中如何將多個矩陣儲存到同一個矩陣中?

10樓:四舍**入

%% 為了能批量進行,使用了eval函式

% 首先,為自己產生一個a,b,c,...的矩陣3*3的;

for index=1:17

eval([char(64+index) '=rand(3);']);

end% 從下邊開始是存到一個檔案當中。

delete([pwd '\data.txt']);

for index=1:17

end擴充套件資料:matlab函式列舉:

cot( )餘切(變數為弧度)

sind( )正弦(變數為度數)

cotd( )餘切(變數為度數)

asin( )反正弦(返回弧度)

acot( )反餘切(返回弧度)

asind( )反正弦(返回度數)

tand( )正切(變數為度數)

abs( )取絕對值

atan( )反正切(返回弧度)

angle( )返回複數的相位角

horcatc=[a,b],水平聚合矩陣,還可以用cat(1,a,b)

vercatc=[a;b],垂直聚合矩陣, 還可以用cat(2,a,b)

11樓:tn瓶邪

可以把每次計算出的矩陣a儲存到一個元胞結構data中for i = 1:n

a = 你的操作;

data = a;

end下次從data中取矩陣,可以這麼寫a = data ;

12樓:匿名使用者

function mywritetotxt(a,address)%待儲存資料:a

%儲存檔案:address

fid=fopen(address,'a');

[r,v]=size(a);

for i=1:r

for j=1:v

fprintf(fid,'%d\t',a(i,j));

endfprintf(fid,'\n ');

endfprintf(fid,'\n ');

fclose(fid);

a=ones(17,17);

b=2*a;

c=3*a;

mywritetotxt(a,address);

mywritetotxt(b,address);

mywritetotxt(c,address);

matlab 迴圈中如何儲存尺寸不同的矩陣

13樓:匿名使用者

for ii=1:10

a=randn(2,ii);

enda,a,a

14樓:w鴻鵠之志

您好,這個問題解決了嗎

如何將matlab 每次迴圈計算矩陣 合併到一個矩陣中? 5

15樓:蝶夢

在迴圈前定義空矩陣a=;,在迴圈中定義temp矩陣進行操作裝填,並且利用a=[a;temp]進行合併。

這種方法在迴圈中每次都改變了矩陣a的大小,實現了對迴圈中每一次結果的記錄。

[a;b]實現了在矩陣列數相等的情況下列向合併矩陣,[a b]實現了矩陣行數相等的情況下橫向合併矩陣。

如何將Excel資料匯入MATLAB中

豆其英磨香 matlab如何匯入excel資料的方法如下 1 一xlsread 函式,比import簡單的多,具體語句 a xlsread yourfilename.xls 直接在matlab中定義矩陣,再複製貼上得了 定義矩陣就先定義個空的 比如一維 a zeros 1,n 這是1xn的 2 二維...

如何將Excel資料匯入MATLAB中

將excel中的資料匯入matlab中可以使用 xlsread 命令,也可用uiimport直接匯入 1.使用 xlsread命令 num xlsread filename num xlsread filename,sheet num xlsread filename,xlrange num xls...

如何將matlab中多幅圖合成為一幅圖

1 首先,我們隨機產生三組範圍不同的資料,資料量都為500,他們的邊界分別為 10,15 23,38 38,58 方法如下 x1 10 5 rand 500,1 x2 23 15 rand 500,1 x3 38 20 rand 500,1 2 下面,我們要分別畫出x1,x2,x3對應的曲線,用ma...