题目来自:《战胜MATLAB必做练习50道》
题目有更改,改成了我想写的样子。
1. 创建一个3×3矩阵,并将其扩充为4×5矩阵
clear;
clc;
mat1= ones(3,3)
mat2= zeros(3,3)
mat3= rand(3,3) %随机矩阵
mat4= randn(3,3) %产生均值为0,方差σ^2 = 1,标准差σ = 1的正态分布的矩阵
mat4(4,5) = 10
2. 建立一个等比数列,然后由它产生一个对角阵,并存储该矩阵。
clear;
clc;
a= logspace(0,4,5)
d1=diag(a)
save mydate d1
%eye(m,n)生成一个m×n的单位矩阵
3. 调用上面存储的矩阵,并由它产生一个列向量。
clear;
clc;
load mydate d1
d1
d2= diag(d1)
4. 创建一个3×3魔方阵和相应的随机矩阵,将两个矩阵拼接起来。然后提取任意元素。
魔方阵:任意行、列及对角线之和相等。
clear;
clc;
mat1= magic(3)
mat2= rand(3,3)
mat3= [mat1,mat2] %横向拼接
mat4= [mat1;mat2] %纵向拼接
mat5= mat3(2:3,[1,3,4]) %提取第2、3行,第1、3、4列的元素
mat6= mat3([1,3],[2,4])
5. 求矩阵的转置矩阵。
clear;
clc;
mat1= magic(3)
mat2= rot90(mat1) %旋转矩阵
mat3= mat1‘%转置矩阵
6. 创建一个4×4单位矩阵,提取主对角线上的元素
clear;
clc;
mat1= rand(4,4)
d= diag(mat1)
7. 创建一个4×5随机矩阵,提取第一行和第二行中大于0.3的元素组成的矩阵。
clear;
clc;
mat1= rand(4,5)
mat2= mat1([1,2],[1,2,3,4,5])
mat3=mat2(:)
k= 1;for ii = 1: length(mat3)if(mat3(ii) > 0.3)
mat4(k)=mat3(ii);
k= k + 1;
end
end
mat4
8. 计算A×B×C。
clear;
clc;
A= rand(3)
B= magic(3)
C= rand(3,4)
A*B*C
9. A=[1,2,3],计算A‘ 与A 的积。
clear;
clc;
A= [1,2,3]
B= A‘A*B
B*A
10. 求5×5矩阵和4×3矩阵的逆矩阵
clear;
clc;
A= rand(5,5)
B= rand(4,3)
A1= inv(A) %inv只能对方阵求逆
B1= pinv(B) %pinv都可,包含了inv的功能
C= A*A1
D= B1*B
11. 用两种方法 求解Ax = b的解(A为4阶随机矩阵,b为4阶列向量)
clear;
clc;
A= rand(4)
b= ones(4,1)
x1= inv(A) *b
x2= A\b %直接使用高斯消去法,速度快一些
12. 算A的5次方,计算(0.5)^A
矩阵的乘方算法(A^p):
① 当p为正整数时,A^p表示A自乘p次
② 当p为负整数时,A^(-p)表示矩阵A-1自乘p次
③ 当p为0时,A^0等于与A同维的单位矩阵
④ 当p为分数时,若A可以分解为A = WDW-1,D为对角阵,则A^p = WDpW-1
标量的矩阵乘方(p^A):
若A可以分解为A = WDW-1,D为对角阵,则可以定义标量矩阵乘方为:
clear;
clc;
A= rand(4)
B= A^5 %A自乘5次
C= (0.5)^A
原文:http://www.cnblogs.com/farewell-farewell/p/7233308.html