A. matlab 怎麼創建這種矩陣
H= ones(10,1)*[1:10]
h=H『
B. MATLAB怎麼創建這樣的矩陣
1、向量的創建
1)直接輸入:
行向量:a=[1,2,3,4,5]
列向量:a=[1;2;3;4;5]
2)用「:」生成向量
a=J:K 生成的行向量是a=[J,J+1,…,K]
a=J:D:K 生成行向量a=[J,J+D,…,J+m*D],m=fix((K-J)/D)
3)函數linspace 用來生成數據按等差形式排列的行向量
x=linspace(X1,X2):在X1和X2間生成100個線性分布的數據,相鄰的兩個數據的差保持不變。構成等差數列。
x=linspace(X1,X2,n): 在X1和X2間生成n個線性分布的數據,相鄰的兩個數據的差保持不變。構成等差數列。
4)函數logspace用來生成等比形式排列的行向量
X=logspace(x1,x2) 在x1和x2之間生成50個對數等分數據的行向量。構成等比數列,數列的第一項x(1)=10x1,x(50)=10x2
X=logspace(x1,x2,n) 在x1和x2之間生成n個對數等分數據的行向量。構成等比數列,數列的第一項x(1)=10x1,x(n)=10x2
註:向量的的轉置:x=(0,5)』
2、矩陣的創建
1)直接輸入:
將數據括在[]中,同一行的元素用空格或逗號隔開,每一行可以用回車或是分號結束。
如:a=[1,2,3;3,4,5],運行後:
a =
1 2 3
3 4 5
2)函數eye,生成單位矩陣
eye(n) :生成n*n階單位E
eye(m,n):生成m*n的矩陣E,對角線元素為1,其他為0
eye(size(A)):生成一個矩陣A大小相同的單位矩陣
eye(m,n,classname):對角線上生成的元素是1,數據類型用classname指定。其數據類型可以是:oble、single、int8、uint8、int16、uint16、int32、uint32 。
3)函數ones 用ones生成全1的矩陣
ones(n) : 生成n*n的全1矩陣
ones(m,n) : 生成m*n的全1矩陣
ones(size(A)) : 生成與矩陣A大小相同的全1矩陣
ones(m,n,p,…)生成m*n*p*….的全1的多維矩陣
ones(m,n,…,classname)制定數據類型為classname
4)函數zeros 函數zeros生成全0矩陣
zeros(n):生成n*n的全0矩陣
zeros(m,n:)生成m*n的全0矩陣
zeros(size(A)): 生成與矩陣A大小相同的全0矩陣
zeros (m,n,p,…)生成m*n*p*….的全0的多維矩陣
zeros (m,n,…,classname)指定數據類型為classname
5)函數rand 函數rand用來生成[0,1]之間均勻分布的隨機函數,其調用格式是:
Y=rand:生成一個隨機數
Y=rand(n):生成n*n的隨機矩陣
Y=rand(m,n):生成m*n的隨機矩陣
Y=rand(size(A)):生成與矩陣A大小相同的隨機矩陣
Y=rand(m,n,p,…):生成m*n*p*…的隨機數多維數組
6)函數randn 函數rand用來生成服從正態分布的隨機函數,其調用格式是:
Y=randn:生成一個服從標准正態分布的隨機數
Y=randn(n):生成n*n的服從標准正態分布的隨機矩陣
Y=randn(m,n):生成m*n的服從標准正態分布的隨機矩陣
Y=randn(size(A)):生成與矩陣A大小相同的服從標准正態分布的隨機矩陣
Y=randn(m,n,p,…):生成m*n*p*…的服從標准正態分布的隨機數多維數組
C. 請問matlab中如何創造一個重復的矩陣
x=[ones(100,1)*2 ones(100,1)*3];
或
a=ones(100,2);%矩陣的維數
b=diag([2,3]);%diag是利用元素構造對角陣
x=a*b; %利用矩陣乘法特性亦可可達到目的
第二種思路對於每行元素多的比較方便,如
r=100;%100行
n=[2,3,4,5,6,7];%每行的元素
x=ones(r,length(n))*diag(n);
第三種思路利用循環,效率低
for i=1:100
x(i,:)=[2,3];
end
D. matlab創建一個矩陣
a=1:32;
>> ans=repmat(a,1,39);
E. 怎樣用matlab創建矩陣
A={'a'; 'b'};
B=[1 2; 3 4];
C=cell(3);
C(2:3,1)=A;
C(1,2:3)=A';
B1=mat2cell(B,[1 1],[1 1]);
C(2:3,2:3)=B1
cellplot(C)
F. 怎麼創建大矩陣matlab
1、向量的創建
1)直接輸入:
行向量:a=[1,2,3,4,5]
列向量:a=[1;2;3;4;5]
2)用「:」生成向量
a=J:K 生成的行向量是a=[J,J+1,…,K]
a=J:D:K 生成行向量a=[J,J+D,…,J+m*D],m=fix((K-J)/D)
3)函數linspace 用來生成數據按等差形式排列的行向量
x=linspace(X1,X2):在X1和X2間生成100個線性分布的數據,相鄰的兩個數據的差保持不變。構成等差數列。
x=linspace(X1,X2,n): 在X1和X2間生成n個線性分布的數據,相鄰的兩個數據的差保持不變。構成等差數列。
4)函數logspace用來生成等比形式排列的行向量
X=logspace(x1,x2) 在x1和x2之間生成50個對數等分數據的行向量。構成等比數列,數列的第一項x(1)=10x1,x(50)=10x2
X=logspace(x1,x2,n) 在x1和x2之間生成n個對數等分數據的行向量。構成等比數列,數列的第一項x(1)=10x1,x(n)=10x2
註:向量的的轉置:x=(0,5)』
2、矩陣的創建
1)直接輸入:
將數據括在[]中,同一行的元素用空格或逗號隔開,每一行可以用回車或是分號結束。
如:a=[1,2,3;3,4,5],運行後:
a =
1 2 3
3 4 5
2)函數eye,生成單位矩陣
eye(n) :生成n*n階單位E
eye(m,n):生成m*n的矩陣E,對角線元素為1,其他為0
eye(size(A)):生成一個矩陣A大小相同的單位矩陣
eye(m,n,classname):對角線上生成的元素是1,數據類型用classname指定。其數據類型可以是:oble、single、int8、uint8、int16、uint16、int32、uint32 。
3)函數ones 用ones生成全1的矩陣
ones(n) : 生成n*n的全1矩陣
ones(m,n) : 生成m*n的全1矩陣
ones(size(A)) : 生成與矩陣A大小相同的全1矩陣
ones(m,n,p,…)生成m*n*p*….的全1的多維矩陣
ones(m,n,…,classname)制定數據類型為classname
4)函數zeros 函數zeros生成全0矩陣
zeros(n):生成n*n的全0矩陣
zeros(m,n:)生成m*n的全0矩陣
zeros(size(A)): 生成與矩陣A大小相同的全0矩陣
zeros (m,n,p,…)生成m*n*p*….的全0的多維矩陣
zeros (m,n,…,classname)指定數據類型為classname
5)函數rand 函數rand用來生成[0,1]之間均勻分布的隨機函數,其調用格式是:
Y=rand:生成一個隨機數
Y=rand(n):生成n*n的隨機矩陣
Y=rand(m,n):生成m*n的隨機矩陣
Y=rand(size(A)):生成與矩陣A大小相同的隨機矩陣
Y=rand(m,n,p,…):生成m*n*p*…的隨機數多維數組
6)函數randn 函數rand用來生成服從正態分布的隨機函數,其調用格式是:
Y=randn:生成一個服從標准正態分布的隨機數
Y=randn(n):生成n*n的服從標准正態分布的隨機矩陣
Y=randn(m,n):生成m*n的服從標准正態分布的隨機矩陣
Y=randn(size(A)):生成與矩陣A大小相同的服從標准正態分布的隨機矩陣
Y=randn(m,n,p,…):生成m*n*p*…的服從標准正態分布的隨機數多維數組
G. MATLAB 中用方程創建矩陣 matrix(m,n,f)
>> m = 9;
n = 9;
R = repmat([1:m]',1,n)';
R = reshape(cell2mat(arrayfun(@(x) R(x,:)+3*x,1:m,'un',false)),m,n)'
R =
4 5 6 7 8 9 10 11 12
7 8 9 10 11 12 13 14 15
10 11 12 13 14 15 16 17 18
13 14 15 16 17 18 19 20 21
16 17 18 19 20 21 22 23 24
19 20 21 22 23 24 25 26 27
22 23 24 25 26 27 28 29 30
25 26 27 28 29 30 31 32 33
28 29 30 31 32 33 34 35 36
H. matlab中,如何快速建立一個行或列矩陣。例如,現在要創立一個只有一行的矩陣,且矩陣中的元素全為1或者2
matlab創建矩陣是非常容易的,尤其是特殊矩陣
比如 全零陣
函數 zeros
B = zeros(m,n) %生成m×n全零陣
命令 單位陣
函數 eye
格式 Y = eye(m,n) %生成m×n單位陣
命令 全1陣
函數 ones
格式 Y = ones(m,n) %生成m×n全1陣
等等
比如你的一個只有一行的矩陣,且矩陣中的元素全為1或者2
a=ones(1,10);
b=2*ones(1,10);
要創建10個這樣的矩陣,矩陣中元素是1-10:
for i=1:10
a(i,:)=ceil(10*rand(1,10));
end
I. matlab創建矩陣
用一個二重循環就行了
rou=0.5;
nt=10;
R=zeros(nt);
fori=1:nt
forj=1:nt
R(i,j)=rou^abs(i-j);
end
end
R
效果如圖
J. MATLAB創建矩陣
1、顯示字元串形式clc; clear all;
A = 1 : 9;
A = reshape(A, 3, 3)';
B = [];
for i = 1 : size(A, 1)
Bt = [];
for j = 1 : size(A, 2)
Bt = [Bt strcat(' sin', num2str(A(i, j)))];
end
B = [B; Bt];
end
B 2、可顯示字元串數值形式