matlab中如何把資料輸出成矩陣

2021-08-07 20:45:49 字數 5798 閱讀 2918

1樓:典頤

d=[1 5 3 6;0 5 8 5;5 3 1 0;7 3 0 5];

[m n]=size(d);

s=zeros(m-2,n-2);

a=zeros(m-2,n-2);

for i=2:m-1;

for j=2:n-1;

a=[d(i-1,j),d(i,j-1),d(i,j+1),d(i+1,j)];

s(i-1,j-1)=length(find(a==5));

endends

2樓:

[m,n]=size(a);

d=zeros(m,n);

for i=2:m-1;

for j=2:n-1;

seg=a(i-1:i+1,j-1:j+1);

seg(2,2)=0;

d(i,j)=length(find(seg==5))endend

% a內部每個數的周圍5的個數顯示在d中的對應的位置。

以上只能找a內部數的結果,但是沒有找a的邊界的數。

如果也要邊界的數的個數,用下面的:

[m,n]=size(a);

m=zeros(m+2,n+2);

m(2:end-1,2:end-1)=a;

d=zeros(m,n);

for i=2:m+1;

for j=2:n+1;

seg=m(i-1:i+1,j-1:j+1);

seg(2,2)=0;

d(i,j)=length(find(seg==5))endend

matlab 中怎麼把資料弄成矩陣形式?

3樓:

比如你有那些答案ab

c你要得到乙個答案矩陣

d=[a;b;c]

matlab怎樣將迴圈輸出的資料結果放進乙個矩陣中?

4樓:楊柳風

n = 10;

b = zeros(1,n);

for k = 1:n

r = k; % 運算後資料

b(k) = r; % 存入矩陣內

end;

matlab怎樣將迴圈輸出的資料結果放進乙個矩陣中,然後用作他用?

5樓:楊柳風

n = 10;

b = zeros(1,n);

for k = 1:n

r = k; % 運算後資料

b(k) = r; % 存入矩陣內

end;

6樓:匿名使用者

你直接打為

a=1:10

就可以啦

7樓:

for i=1:10

b(i) = i ;

endb

8樓:匿名使用者

b=zeros(1,10); 的位置放錯了,放到迴圈外,如下所示;

b=zeros(1,10);

for i=1:10

b(:,i)=i;

end或者

b=;for i=1:10

b=[b,i];end

9樓:渣扎乙個

b = zeros(1,10);%矩陣要在迴圈外定義,如果定義在迴圈裡每次迴圈時把之前的資料覆蓋

for i = 1 : 10 %只有最後乙個資料為10,前9個覆蓋為0

b(:,i)=i;end

10樓:簡簡單dan的

把b=zeros(1,10); 放到迴圈外就好了b=zeros(1,10);

for i=1:10

b(:,i)=iend

怎樣將迴圈輸出的資料結果放進乙個矩陣中 matlab

11樓:匿名使用者

首先做乙個空矩陣,用來存你輸出的內容

如:sum =

然後舉例說明,一下迴圈為例子:

for i = 1:5

for j = 1:5

%假設每次迴圈生成矩陣為a(i,j)

sum = horzcat(sum,a(i,j))%這句就會把每次生成的矩陣a(i,j)橫向加入到sum裡面%如果要縱向加,可用vertcat 函式

%也可以用 sum [sum; a(i,j)]的方法來把兩個matrix加起來

%要是包括了橫向和縱向新增,可以用if根據迴圈的情況來自定義如何新增,按照什麼次序新增

endend

最後並為乙個矩陣 sum

常用的矩陣操作函式有:

cathorzcat

vertcat

repmat

blkdiag

12樓:五粒兵

把e和x裡冒號逗號去掉

matlab 弄乙個空矩陣,如何把輸出的資料放到空矩陣裡面,謝謝

13樓:

假設a=zeros(5),b是你要輸出的值,你只要把b賦值給a中的元素就行了,比如a(2,1)=b,也就是a的第2行第1列的值為b

14樓:匿名使用者

data = ; 這個就bai是申明乙個名字叫dudata的空矩陣

data = [data;a]; 這個是把zhia作為一列加到data中dao

至於你想怎麼把資料放進去,要內看容你的資料是怎樣的。

矩陣操作有函式,data = [data;a];這種預設的好像是豎著一列一列的往後加.想一行一行的加,或者乙個矩陣乙個矩陣加,都是有函式可以用的。~

15樓:匿名使用者

偽**:

[m,n]=size(輸出資料);

a=zeros(m,n);

a=輸出資料;

有一事不明,一定要先定義個空矩陣a嗎?你不是要把資料寫入到那個矩陣a嗎?直接把輸出資料賦值給a不就行了嗎

matlab 如何將輸出資料儲存在乙個矩陣中

matlab 如何輸出矩陣?

16樓:匿名使用者

a %注意變數a後面沒有「;」號,即可輸出disp(a)

matlab常用生成矩陣函式:

zeros(m,n)

生成乙個 m 行 n 列的零矩陣,m=n 時可簡寫為 zeros(n)

ones(m,n)

生成乙個 m 行 n 列的元素全為 1 的矩陣, 當m=n 時可寫為 ones(n)

eye(m,n)

生成乙個主對角線全為 1 的 m 行 n 列矩陣, m=n 時可簡寫為 eye(n),即為 n 維單位矩陣

diag(x)

若 x 是矩陣,則 diag(x) 為 x 的主對角線向量

若 x 是向量,diag(x) 產生以 x 為主對角線的對角矩陣

tril(a)

提取乙個矩陣的下三角部分

triu(a)

提取乙個矩陣的上三角部分

rand(m,n)

產生 0~1 間均勻分布的隨機矩陣 m=n 時簡寫為 rand(n)

randn(m,n)

產生均值為0,方差為1的標準正態分佈隨機矩陣m=n 時簡寫為 randn(n)

magic(n)

生成n階矩陣,矩陣中的數從1-n^2,且矩陣的橫向、縱向、對角線和相等

hilb(n)

生成n階hilbert矩陣,其中h(i,j)=1/(i+j-1)

參考資料

matlab常用生成矩陣函式.康冰冰的部落格[引用時間2017-12-28]

17樓:匿名使用者

第乙個問題

原因是,輸入字串的時候,中間不允許換行。如果要換行寫,應該拆成多個字串:

zb=sym(['[r1 0 0 0 0 0 0 0;0 r2 0 0 0 0 0 0;' ...

'0 0 r3 0 0 0 0 0;0 0 0 (1/jwc4) 0 0 0 0;' ...

'0 0 0 0 (1/jwc5) 0 0 0;0 0 0 0 0 (1/jwc6) 0 0;' ...

'0 0 0 0 0 0 jwl7 0;0 0 0 0 0 0 0 jwl8]'])

第二個問題

符號型別(sym)不能直接用fprintf輸出。可以轉換為字串然後再輸出,但需要逐個元素進行處理,以下是參考**:

[m,n] = size(x);

for k = 1: m*n

lengths(k) = length(char(x(k)));

end;

len = max(lengths);

for i = 1:m

str = '[';

for j = 1:n

s = char(x(i,j));

str = [str blanks(len-length(s)+1) s ','];

endstr(end) = ']';

fprintf('%s\n',str)

end這裡呼叫fprintf未指定檔案控制代碼,會直接在命令視窗輸出,你可以根據需要修改。

18樓:滿意請採納喲

輸出字元矩陣

比如: a=[ch2c=cach]

則可以如下輸入:

利用cell

因為本身您是字串形態的矩陣

字串型態之矩陣

['a' 'b'] == ['ab'] == ab (字串)所以從行矩陣轉置後

就不可能轉為行矩陣了

因此才會建議您才用 cell 矩陣進行儲存a=這樣也可以任意轉置

如果不想的話

就將原本矩陣

a =a = a'

a = a(:)

a = a'

19樓:昱婷漫步

直接用矩陣名,不加分號就好,如三行三列的隨機數矩陣生成後,用矩陣名:

a執行結果:

a =0.7577 0.6555 0.

03180.7431 0.1712 0.

27690.3922 0.7060 0.

0462

20樓:匿名使用者

dlmwrite('result.txt',d,);

其中result.txt是你想輸出的文件的名字,d是你程式中存放資料的矩陣

21樓:愛冪不離不棄

經測試,程式如下:

[m,n]=size(p);

p1=cell(m,1);

for i=1:m

a=p(i,:);

p1=['abc ' num2str(a,'%.4f, ') ' def'];

endp=p1

22樓:匿名使用者

程式如下:

[m,n]=size(p);

p1=cell(m,1);

for i=1:m

a=p(i,:);

p1=['abc ' num2str(a,'%.4f, ') ' def'];

endp=p1

23樓:匿名使用者

2中方法:

1,a %注意變數a後面沒有「;」號,即可輸出

2,disp(a)

matlab如何將輸出資料儲存在矩陣中

xlswrite函式 以矩陣a 1 2 3 4 5 6 7 8 為例進行介紹例1 將資料輸入到指定excel中,不指定工作薄,不指定單元格位置在matlab主視窗中輸入xlswrite 1.xlsx a 回車,我們就會看到excel 1.xlsx中,sheet1中如下內容 matlab 如何將輸出資...

C 怎麼把程式輸出的資料寫入中

函式名 freopen 標頭檔案 cstdio 返回值 成功,則返回乙個path所指定的檔案的指標。失敗,返回null。一般都不使用它的返回值 功能 簡單說,就是實現重定向。把預定義的幾個標準流檔案 stdin,stdout,stderr 定向到由path指定的檔案中。在主函式最開頭寫 freope...

matlab中如何對一組資料進行fft變換後得到頻譜圖

1 直接對其使用來ceil函式,源 可以向上取整 即大於等於給定數bai據的最du小整數。2 使用zhifloor函式可以進行向下取dao整。如圖,將矩陣a中的每個元素取小於等於該元素的最大整數。3 使用fix函式則可以去除小數部分。對於大於0的元素相當於floor,對於小於0的元素相當於ceil。...