matlab 矩陣賦值,不要用迴圈

時間 2021-09-21 09:55:40

1樓:匿名使用者

你這個需求很奇葩。

你想想程式的三種結構無非是順序、選擇、迴圈。你不讓用迴圈,就只能用b=[a a ... a]這種方式了。

其實個人感覺這種方式一般都需要用迴圈來解決,如果你感覺迴圈慢(說實話,我不清楚你迴圈慢的結論怎麼得出來的?即使慢也和迴圈沒什麼關係吧!),那你可以減少迴圈次數,例如:

b=;for i=1:n

b=[b a a];

end這裡面的a個數由你根據需要來不定期。

2樓:笑面彌勒

可以使用repmat函式

以下是matlab中關於此方法的解釋

b = repmat(a,m,n) creates a large matrix b consisting of an m-by-n tiling of copies of a. the size of b is [size(a,1)*m, size(a,2)*n]. the statement repmat(a,n) creates an n-by-n tiling.

3樓:匿名使用者

>> a=[1 2 6 4 8 7 8];

>> b=repmat(a,1,4)

b =columns 1 through 131 2 6 4 8 7 8 1 2 6 4 8 7

columns 14 through 268 1 2 6 4 8 7 8 1 2 6 4 8

columns 27 through 287 8

4樓:g弦上de詠歎

b = repmat(a,m,n) 用來將矩陣a複製m*n塊,即b是由m*n塊a平鋪而成

matlab陣列迴圈賦值問題

5樓:匿名使用者

result=;

for i=1:1:length(data)if data(i)>20

result=[result;data(i)];

endend

請問,在matlab裡如果我想用for迴圈對一個矩陣賦值,比如for i=1:10 n(i)=i; end

6樓:匿名使用者

沒有問題呀,我在命令視窗中是這樣寫的,沒發現問題。你看一下是不是書寫格式有問題。

for i=1:10

n(i)=i;

endn

7樓:我都知道了哦

這樣寫可以的。

下面這段**沒有問題:

for i=1:10

n(i)=i;end

matlab中怎麼給矩陣賦值?

8樓:劉瑞濤

x=1:0.1:10;

y=;for i=1:length(x)%

y=[y;x(i)];%把每一個x都放到y裡,成為一列

y=[y,x(i)];%把每一個x都放到y裡,成為一行

end>> a=rand(10,10);

>> a(3:9,2:8)=10

a =0.1622    0.4505    0.

1067    0.4314    0.8530    0.

4173    0.7803    0.2348    0.

5470    0.9294

0.7943    0.0838    0.

9619    0.9106    0.6221    0.

0497    0.3897    0.3532    0.

2963    0.7757

0.3112   10.0000   10.

0000   10.0000   10.0000   10.

0000   10.0000   10.0000    0.

7447    0.4868

0.5285   10.0000   10.

0000   10.0000   10.0000   10.

0000   10.0000   10.0000    0.

1890    0.4359

0.1656   10.0000   10.

0000   10.0000   10.0000   10.

0000   10.0000   10.0000    0.

6868    0.4468

0.6020   10.0000   10.

0000   10.0000   10.0000   10.

0000   10.0000   10.0000    0.

1835    0.3063

0.2630   10.0000   10.

0000   10.0000   10.0000   10.

0000   10.0000   10.0000    0.

3685    0.5085

0.6541   10.0000   10.

0000   10.0000   10.0000   10.

0000   10.0000   10.0000    0.

6256    0.5108

0.6892   10.0000   10.

0000   10.0000   10.0000   10.

0000   10.0000   10.0000    0.

7802    0.8176

0.7482    0.4427    0.

8001    0.1450    0.2400    0.

1112    0.0598    0.4509    0.

0811    0.7948

>>

matlab 裡面給變數賦值空矩陣是什麼意思啊

是為了在每一個新的j重新從1開始迴圈的時候保證tpvalue初始化沒有任何值。的實際效果就是清空一個變數。 龍口真祖 new 生成一個長度大小不定的空矩陣,可以通過new new x 進行元素或向量的新增,其中x就是要新增進這個矩陣的元素或向量。比如 new a 1 b 2 new new a ne...

matlab中怎麼定義大矩陣,matlab中怎麼定義乙個大矩陣

在matlab中,矩陣一般指二維陣列,當然矩陣也可以是多維的。生產的方法常用的有 直接輸入法。比如 c 1 2 3 4 生成2x2階矩陣2.函式法。matlab中提供了若干特殊函式用於繪製二維陣列。比如magic 3 生成3x3階魔方矩陣3.外部檔案法 通過外部檔案,比如data.m命令執行生產資料...

matlab中矩陣寫入的問題,matlab中矩陣寫入txt文件的問題

521煙雨曉曉 先新建一個命名tt.txt的文件,在建一個m檔案,把這些copy進去就ok了。a 1 2 3 4 5 b 6 7 8 9 0 fid fopen tt.txt wt i size a j size b m max i 2 j 2 for k 1 m if k i 2 fprintf ...