matlab中用函式ones和diag分別編寫下列矩陣

時間 2021-08-14 05:56:14

1樓:林木木林

如下程式可解決第一個問題:

ones(7,7)+diag([0,2,4,6,4,2,0])+diag([0,2,4,4,2,0],1)+diag([0,2,4,4,2,0],-1)+diag([0,2,4,2,0],2)+diag([0,2,4,2,0],-2)+diag([0,2,2,0],3)+diag([0,2,2,0],-3)

如下程式可解決第二個問題:

diag([4,4,4,4,4])+diag([5,5,5,5],1)+diag([6,6,6],2)+diag([3,3,3,3],-1)+diag([2,2,2],-2)

2樓:匿名使用者

%這是ones實現第一個矩陣的程式a=ones(7);

for k=1:3

for i=(1+k):(7-k)

for j=(1+k):(7-k)

a(i,j)=a(i,j)+2;

endend

enda

3樓:

b=[2 2 2];

c=[3 3 3 3];

d=[4 4 4 4 4];

e=[5 5 5 5];

f=[6 6 6];

a=diag(a,-3)+diag(b,-2)+diag(c,-1)+diag(d)+diag(e,1)+diag(f,2)

如何用matlab中diag函式和ones函式分別建立下面的陣列,謝謝

4樓:匿名使用者

a=[1 1];

daob=[2 2 2];

c=[3 3 3 3];

d=[4 4 4 4 4];

e=[5 5 5 5];

f=[6 6 6];

a=diag(a,-3)+diag(b,-2)+diag(c,-1)+diag(d)+diag(e,1)+diag(f,2)

matlab中 單位矩陣用ones和eye的區別?

5樓:shine戚七七

matlab 中,單位矩陣的生成: eye(n) 為n*n的單位矩陣。

ones函式——生成全1陣。

【zeros的使用方法】

b=zeros(n):生成n×n全零陣。

b=zeros(m,n):生成m×n全零陣。

b=zeros([m n]):生成m×n全零陣。

b=zeros(d1,d2,d3……):生成d1×d2×d3×……全零陣或陣列。

b=zeros([d1 d2 d3……]):生成d1×d2×d3×……全零陣或陣列。

b=zeros(size(a)):生成與矩陣a相同大小的全零陣。

【ones的使用方法】

ones的使用方法與zeros的使用方法類似。

6樓:匿名使用者

ones的元素全是1;

eye只有對角線元素是1;其他位置是0;

matlab中diag用法

7樓:墨汁諾

呼叫格式bai:a=diag(x);

若x是m*n的矩陣,則dua為x對角線元素組成zhi的向量,且a的大小等於x較小dao的維數,內即min(m,n)

若x是1*m的向量,則a為容m*m的矩陣,該矩陣的對角線元素為x。

以向量v的元素作為矩陣x的第k條對角線元素,當k=0時,v為x的主對角線;當k>0時,v為上方第k條對角線;當k<0時,v為下方第k條對角線。

8樓:匿名使用者

對於dbb627的一點改正,當k<0時,v為下方第-k條對角線。

9樓:匿名使用者

diag函式是bai提取對角

du元素

diag(a,0)提取的是zhi主對角線上的元素,

dao內diag(a,1)提取的是主對角線上一容對角線上的元素,diag(a,-1)提取的是主對角線下一對角線上的元素。

祝你學習愉快!

另外,站長團上有產品**,便宜***

10樓:凡沫雅

= diag(v,k)

以向量來v的元素源作為矩bai陣x的第k條對角線元素,當k=0時,duv為x的主對角線;zhi當k>0時,v為上方第daok條對角線;當k<0時,v為下方第k條對角線。

例:>> v=[1 2 3];

>> x=diag(v,-1)

x =0 0 0 01 0 0 0

0 2 0 0

0 0 3 0

下面不知是否是你想要的:

>> clear

>> v(1)=1;

>> n=5;%可以安自己需求

>> v(2:n)=2;

>> x=diag(v,-1)

x =0 0 0 0 0 01 0 0 0 0 00 2 0 0 0 00 0 2 0 0 00 0 0 2 0 00 0 0 0 2 0

11樓:匿名使用者

x = diag(v,k)

以向量v的元素作為矩陣x的第k條對角

線元素,當k=0時,版v為x的主對角線;權當k>0時,v為上方第k條對角線;當k<0時,v為下方第k條對角線。

例:>> v=[1 2 3];

>> x=diag(v,-1)

x =0 0 0 01 0 0 0

0 2 0 0

0 0 3 0

下面不知是否是你想要的:

>> clear

>> v(1)=1;

>> n=5;%可以安自己需求

>> v(2:n)=2;

>> x=diag(v,-1)

x =0 0 0 0 0 01 0 0 0 0 00 2 0 0 0 00 0 2 0 0 00 0 0 2 0 00 0 0 0 2 0

12樓:匿名使用者

呼叫格式:a=diag(x);

若x是m*n的矩陣,則a為x對角線元素組成的向量,且a的大小等於x較小的維數,即min(m,n)

若x是1*m的向量,則a為m*m的矩陣,該矩陣的對角線元素為x。

13樓:匿名使用者

x =diag(v,k)

以向量v的元來素作為

矩陣x的第源k條對bai角du

線元素,當zhik=0時,v為x的主對角線;當k>0時,v為上方第daok條對角線;當k<0時,v為下方第k條對角線。

例:>>

v=[1 2 3];

>> x=diag(v,-1)

x =0 0 0 0

1 0 0 0

0 2 0 0

0 0 3 0

下面不知是否是你想要的:

>> clear

>> v(1)=1;

>>n=5;%可以安自己需求

>> v(2:n)=2;

>> x=diag(v,-1)

x =0

0 0 0 0 0

1 0 0 0 0 0

0 2 0 0 0 0

0 0 2 0 0 0

0 0 0 2 0 0

0 0 0 02 0

matlab裡repmat(1:10,40,1)是什麼意思

14樓:四舍**入

repmat(1:10,40,1)就bai是對一行數1,2,....,10重複du排列zhi

成40*1的矩陣,如

repmat(1:3,4,2)

ans =

1 2 3 1 2 3

1 2 3 1 2 3

1 2 3 1 2 3

1 2 3 1 2 3

擴充套件資料dao:matlab常用函式和命內令

ones( ) 建立一個所有元容素都為1的矩陣,其中可以制定維數,1,2….個變數

zeros() 建立一個所有元素都為0的矩陣eye() 建立對角元素為1,其他元素為0的矩陣diag() 根據向量建立對角矩陣,即以向量的元素為對角元素floor(x):下取整,即捨去正小數至相鄰整數ceil(x):上取整,即加入正小數至相鄰整數repmat(m,v,h)      將矩陣m在垂直方向上聚合v次,在水平方向上聚合h次

15樓:我行我素

repmat(1:10,40,抄1)就是對一行襲數1,2,....,10重複排列成40*1的矩陣,如

repmat(1:3,4,2)

ans =

1 2 3 1 2 31 2 3 1 2 31 2 3 1 2 31 2 3 1 2 3

16樓:匿名使用者

將向量 1 2 3 ... 10

縱向複製 40次, 橫向一次

也就是生成了一個40*1的塊矩陣

每塊都是1:10

在matlab中,用兩種方法求函式sinx x cos2x

注意matlab裡表示式的格式,利用syms定義符號,然後利用diff函式求符號導數 y diff x,n 求函式x的n階導數matlab裡執行如下 syms x y dyy sin x x 2 4 x 3 dy diff y,4 執行結果有點長,這是因為你的函式求導表示式比較複雜。 做個測試,希望...

matlab極座標繪圖在matlab中,用polar畫的

開啟polar.m 檔案,路徑可通過輸入 which polar 命令得到。其中修改下面這段 可以控制虛線圓的顯示個數。其中rticks 為控制顯示個數的參量。每隔0.1畫一個,這樣的話應該是畫10個,所以將rticks 10 即可實現。draw radial circles c82 cos 90 ...

matlab如何輸入函式,matlab 如何輸入導數

數碼答疑 導數採用diff函式 diff s,v n 其中s為求的函式,v是變數,n為求導次數例如 diff t 6 t 6 720一階導數 diff s 二階導數 diff s,2 diff 函式是matlab的符號函式求導。diff 使用說明 diff s,v 對表示式s中指定符號變數v,計算s...