1. matlab中怎样创建一个对角矩阵
材料/工具:电脑、matlab软件
1、首先打开电脑上的“matlab”软件,在命令行窗口输入一个向量n,向量n有4个元素。接着使用diag函数生成对角矩阵。
2. 关于matlab 建立函数M文件 实现两个矩阵相乘。
你的意思是自己编写矩阵乘法吧,否则直接调用matlab得 * 函数就得了
验证成功,可以运行
x=rand(3,4);
y=rand(4,5);
[row1, col1] = size(x);
[row2, col2] = size(y);
if col1 ~= row2
disp('input is error');
else
result = zeros(row1, col2);
for ii=1:row1
for jj=1:col2
result(ii,jj) = sum(sum(x(ii,:) .* (y(:, jj))' ));
end
end
end
3. 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
4. matlab 生成一个关于函数的矩阵
你这个问题应这样来解决,即计算Z时应使用点运算符。
>>X=0:0.1:10;Y=0:0.1:10;
>>[X,Y]=meshgrid(X,Y);
>>Z=(X+1).*(1-Y)./(2*X);
>>mesh(X,Y,Z)
>> xlabel('X'),ylabel('Y'),zlabel('Z');
5. 如何使用matlab创建一个全都是一的矩阵
可这样:a=ones(3,4)
就得到一个3*4全1的矩阵。
6. matlab 怎么创建这种矩阵
H= ones(10,1)*[1:10]
h=H‘
7. 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、可显示字符串数值形式
8. 如何在matlab中建立含有矩阵的M文件
首先单击“New M-File”
然后写你的函数
例如 function y=f(x) f为函数名,x是输入参数,y是输出结果
下面写运算式 如y=2*x;
单击“Save”
默认会以函数名保存 上例保存为m.file
然后可以直接调用 如调用y=f(2)
结果为4
9. 怎么创建大矩阵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*…的服从标准正态分布的随机数多维数组
10. 用matlab表示矩阵怎样实现
一、矩阵的表示
在MATLAB中创建矩阵有以下规则:
a、矩阵元素必须在”[ ]”内;
b、矩阵的同行元素之间用空格(或”,”)隔开;
c、矩阵的行与行之间用”;”(或回车符)隔开;
d、矩阵的元素可以是数值、变量、表达式或函数;
e、矩阵的尺寸不必预先定义。
二,矩阵的创建:
1、直接输入法
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b是生成向量的第一个和最后一个元素,n是元素总数。
2、利用MATLAB函数创建矩阵
基本矩阵函数如下:
(1) ones()函数:产生全为1的矩阵,ones(n):产生n*n维的全1矩阵,ones(m,n):产生m*n维的全1矩阵;
(2) zeros()函数:产生全为0的矩阵;
(3) rand()函数:产生在(0,1)区间均匀分布的随机阵;
(4) eye()函数:产生单位阵;
(5) randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。
3、利用文件建立矩阵
当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。同时可以利用命令reshape对调入的矩阵进行重排。reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。