matlab迴圈儲存每次迴圈的結果該怎麼儲存

時間 2021-10-30 06:30:49

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

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

2樓:

for k=1:1:14 %靈敏度校驗mpc.bus(k,3)=0.9*mpc.bus(k,3);

[basemva(k), bus(k), gen(k), branch(k), success(k), et(k)]=runpf(mpc);end

matlab怎麼把每次迴圈的結果寫到txt檔案裡?

3樓:萬古虛空

把第二行把開啟方式『wt』,改為『a』,就可以了。

close all;

clear all;

for i=1:5

a=5+i;

fp=fopen('d:\ztq.txt','a');

fprintf(fp,'%d',a);

fclose(fp);

endmatlab 常見的開啟方式:

『r』:唯讀方式開啟檔案(預設的方式),該檔案必須已存在。

『r+』:讀寫方式開啟檔案,開啟後先讀後寫。該檔案必須已存在。

『w』:開啟後寫入資料。該檔案已存在則更新;不存在則建立。

『w+』:讀寫方式開啟檔案。先讀後寫。該檔案已存在則更新;不存在則建立。

『a』:在開啟的檔案末端新增資料。檔案不存在則建立。

『a+』:開啟檔案後,先讀入資料再新增資料。檔案不存在則建立。

你用'wt'開啟,每次開啟如果寫入資料的話都會先更新檔案。老內容就沒了.

matlab 儲存每次迴圈的結果

4樓:匿名使用者

cyclenum = 500; %假設迴圈次數為500xlist = zeros(2, cyclenum); %儲存改變後x的值

x = [0, 10]';

for ii = 1:cyclenum

x = x + 1; %假設每次迴圈,x值加1xlist(:, ii) = x; %儲存改變後的xend%迴圈結束,xlist中儲存了所有x,每一列對應乙個x。畫圖即可。

5樓:匿名使用者

預乙個陣列,將每次計算結果都記錄下來,然後plot就ok

matlab迴圈並將每次迴圈的結果輸出到同一txt文件中

6樓:匿名使用者

問題bai二:

fid = fopen('data.txt', 'a'); % 新建(若不du

存在)或開啟乙個名為data.txt的檔案for ...

fprintf(fid, '%5d ', d); % d為每

zhi次要寫入的數dao

據,專『%5d』控制資料寫入的格式

endfclose(fid); % 操作屬

完成後,關閉檔案

matlab程式編寫中n個迴圈,迴圈一次儲存一次資料,在進行下一次迴圈

7樓:匿名使用者

可以定義乙個空向量,迴圈中每一次計算把結果加到向量末尾(或者頭部),就像鍊表操作一樣。這樣每一次迴圈中的結果就都被存下來了。

給出示例**如下:

%%clc;clear;

a=;%定義空向量

for i=1:5

t=2^i;%迴圈中每次計算2^i

a=[a t];%計算結果每次都加到a的末端enda

執行結果如下:

a =2 4 8 16 32

8樓:

你要存成什麼格式的?

matlab 矩陣賦值,不要用迴圈

你這個需求很奇葩。你想想程式的三種結構無非是順序 選擇 迴圈。你不讓用迴圈,就只能用b a a a 這種方式了。其實個人感覺這種方式一般都需要用迴圈來解決,如果你感覺迴圈慢 說實話,我不清楚你迴圈慢的結論怎麼得出來的?即使慢也和迴圈沒什麼關係吧!那你可以減少迴圈次數,例如 b for i 1 n b...

matlab怎麼將迴圈變數作為函式的輸入值

椴 如果進行m檔案程式設計,而不知道輸入引數個數 採用 function y y varargin 在這裡我簡單描述一下varargin的相關使用 1 對輸入引數個數的判斷採用 比如y y1,y2 則nargin 2 所以你可以這樣程式設計 if nargin 2 y y y1,y2 end 2 當...

MATLAB中如何用for迴圈將結果代入矩陣中

推薦的做法是 1.如果每次迴圈產生等長的行向量,就把每次產生的行向量作為矩陣的一行,行標就是當前迴圈數 2.如果每次迴圈產生的向量不等長,就把每次產生的行向量作為cell陣列的一個元素,下標就是當前迴圈數。 終瀅鬱淑 錯在維數不一致,看看,f的大小是1x10,那麼w的維數也是1x10,而a,b,c的...