matlab整理
2015-08-05 10:23
519 查看
matlab矩阵应用
clear
%建立矩阵的两种方式
A1 = [1 2 3 4 5; 6 7 8 9 10];
A2 = [
1 2 3 4 5
6 7 8 9 10
];
%一种是换行用引号,一种是自然写法
clear
A = [5 4 3 2 1; 6 7 8 9 10;1 2 3 4 5;24 24 24 24 24;25 25 25 25 25];
B = [5 4 3 2 1; 6 7 8 9 10;1 2 3 4 5;24 24 24 24 24;25 25 25 25 25];
A_sqare = [1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25];
k = 5;
X1 = A'; %A取转置
X2 = A + B; %求A和B矩阵的和
X3 = A - B; %求A和B矩阵的差
X4 = k * A; %数K乘以A矩阵
X5 = det(A_sqare); %求矩阵A的行列式(注A_sqare必须为方阵)
X6 = rank(A); %求矩阵A的秩
X7 = inv(A_sqare); %求矩阵A的逆(注A_sqare必须为方阵)
X8 = B / A; X8 = B * inv(A_sqare); %A右除B = B右乘A的逆
X9 = B / A; X9 = inv(A_sqare) * B; %A左除B = B左乘A的逆
A.*B % .* 是A的每个元素和B相乘,非矩阵相乘,同理 ./ .^
A(2,:) % 取A矩阵的第2行 然后 A(2,:) = [5 5 5 5 5]就对该行进行赋值
A(:,2) % 取A矩阵的第2列 然后 A(:,2) = [5 5 5 5 5]就对该列进行赋值
A(2:1:4,3:1:4) %取A矩阵中的一块,其语法为A(起始行:步长:终止行,起始列:步长:终止列)
zeros(5) %生成n阶零矩阵
eye(5) %生成n阶单位矩阵
eig(A) %矩阵A的特征值
[X,D] = eig(A) %矩阵A的 特征向量矩阵X 特征值组成的对角阵
A([1,2],:) %1,2行互换
A(:,[2,3]) %1,2列互换
A(2,:) = 5 * A(2,:) %第2行乘以5,列上的操作以此类推
K = [A B;B A] %由几个小矩阵合成一个大矩阵
orth(A) %非奇异矩阵正交化
a1 = A(2,:);
a2 = A(3,:);
a1*a2' %两个向量内积
rref(A) %A的极大无关向量组
matlab画图应用
%while循环
clear
sum = 0;k = 1;
while k<101
sum = sum+k;
k = k + 1;
end
sum
%for循环
clear
sum = 0;n = 1;
for n = 1:100
sum = n + sum;
end
sum
%plot绘图
x = -10:0.1:10;
y = 3*x.^4+x.^2-1;
figure %开启新绘图页面
plot(x,y)
%fplot绘图
clear
figure
fplot(@f1, [-10 10]) %调用f1.m里面的那个function
%ezplot绘图
clear
syms x
figure
y = 3*x^4 + x^2 - 1;
ezplot(y)
%螺旋线绘图 题目:x = cost , y = sint , z = t t属于[0,6pi]
clear
t = 0:0.1:6*pi;
x = cos(t);
y = sin(t);
z = t;
figure
plot3(x,y,z)
%空间曲线绘图 题目: z = sqrt(1 - x^2 - y^2) , (x - 1/2)^2 + y^2 = (1/2)^2
clear
t = 0:0.1:6;
x = 0.5*cos(t)+0.5;
y = 0.5*sin(t);
z = sqrt(1-x.^2-y.^2);
figure
plot3(x,y,z)
%二次曲面绘图 题目: x^2 + y^2 = z
clear
s = -10:1:10;
t = -10:1:10;
[x,y] = meshgrid(s,t);
z = x.^2 + y.^2;
figure
mesh(x,y,z);
%旋转曲面绘图 题目: y = 1/x 围绕y轴旋转
clear
s = -10:0.1:10;
t = -10:0.1:10;
[x,y] = meshgrid(s,t);
r = 1./x;
[x,y,z] = cylinder(r);
figure
mesh(x,y,z)
%输入数
clear
K = input('请输入数');
matlab解方程应用
%常微分方程求解 详细参考PPT(7)
clear
y1 = dsolve('Dy=8-3*y','y(0)=2')
y2 = dsolve('D2y=2*x*Dy/(1+x^2)','y(0)=1,Dy(0)=3')
%微分方程组求解
clear
[X,Y] = dsolve('2*Dx+4*x+Dy-y=exp(t),Dx+3*x+y=0','x(0)=1.5,y(0)=0')
%线性方程组全部解
clear
format rat
A=[1 1 3 -1;0 1 -1 1;1 1 2 2;1 -1 1 -1];
B=[-2;1;4;0];
X = A/B
%方程求解
clear
X = solve('x-exp(-x)=0','x')
%区间里方程求解
%x=0:0.1:10;
%X = solve('5*x^2*sin(x)-exp(-x)','x')
%求微分方程的特解并且做出函数曲线
y0 = [1,0];
[t,x] = ode45(@vdp,[0,30],y0); %从vdp.m这个文件里面读函数
y = x(:,1);
dy=x(:,2);
figure
plot(t,y,t,dy);
%解微分方程
fun=inline('-2*y+2*x*x+2*x');
[x,y]=ode23(fun,[0,0.5],1)
matlab微积分应用
%函数求导
clear
syms x y; %将x y设为变量
f = cos(x)^3-cos(3*x); %需要求导的式子
dy = diff(f,x); %用diff 函数进行求导
%函数求极限
clear
syms x
f = x*log(1+x)/sin(x*x)
limit(f,'x',0,'left') %语法为 limit(求极限的式子,求极限的变量,需要逼近的数字,从左还是从右逼近)
%函数求积分
clear
syms x
f = sym('x*exp(x)/(1+x)^2');
int(f) %语法为 int(求极限的式子,下限,上限) 如果不加上限下限,就是函数式。
int(f,0,1)
pretty(f) %以自然函数形式呈现
%例-求z = x^2 + y^2 , z = 1 , z =2 围成的曲面
clear
syms x y z
z = x^2+y^2;
f = z;
I = int( int( f, y, sqrt(1-x^2), sqrt(2-x^2) ), x, 1, sqrt(2) )
%级数求和
clear
syms n
f = (n+1)/n*2^n;
j = symsum(f, n, 1, inf) %级数求和,下限为1,上限为无穷大
%泰勒展开
clear
syms x
f = cos(x)
taylor(f, 10, x, pi/3) %语法为taylor(待展开函数,取前几项, 变量名, 展开中心)
%求傅里叶系数
clear
syms x n
f = x^3+x^2;
n = 5;
a0 = int(f,x,-pi,pi)/pi
a1 = int(f*cos(1*x),x,-pi,pi)/pi
a2 = int(f*cos(2*x),x,-pi,pi)/pi
a3 = int(f*cos(3*x),x,-pi,pi)/pi
a4 = int(f*cos(4*x),x,-pi,pi)/pi
a5 = int(f*cos(5*x),x,-pi,pi)/pi
b1 = int(f*sin(1*x),x,-pi,pi)/pi
b2 = int(f*sin(2*x),x,-pi,pi)/pi
b3 = int(f*sin(3*x),x,-pi,pi)/pi
b4 = int(f*sin(4*x),x,-pi,pi)/pi
b5 = int(f*sin(5*x),x,-pi,pi)/pi
%求山地等三维图,高线图
x=0:10:1500;
y=0:10:900;
[x1,y1]=meshgrid(x,y) ;
z= xlsread('ZZchazhi111.xls','sheet1','A1:CM151'); %读入excel文件数据
Z=z';
figure;
mesh(x1,y1,Z)
figure;
contourf(x1,y1,Z,3)
%生成excel
clear all
%list x,y,z
x = xlsread('shandibiao.xls','sheet1','A3:A37');
y = xlsread('shandibiao.xls','sheet1','B2:AZ2');
z = xlsread('shandibiao.xls','sheet1','B3:AZ37');
Z = z';
%cha zhi. jian ge 10
xx = 0:10:900;
yy = 0:10:1500;
[XX, YY] = meshgrid(xx, yy);
ZZ = interp2(x, y, Z, XX, YY, 'cubic');
xlswrite('chazhi10de',ZZ) %生成excel
%cha zhi. jian ge 1
xxx = 0:1:900;
yyy = 0:1:1500;
[XXX, YYY] = meshgrid(xxx, yyy);
ZZZ = interp2(xx, yy, ZZ, XXX, YYY, 'cubic');
%
clc一种长方体的绘制方法
clear all
x1=zeros(1,10);
y1=zeros(1,10);
z1=zeros(1,10);
x2=linspace(0,50,10);
y2=linspace(0,50,10);
z2=linspace(0,14,10);
x3=50*ones(1,10);
y3=50*ones(1,10);
z3=14*ones(1,10);
figure
plot3(x2,y1,z1,'b',x1,y1,z2,'b',x1,y2,z1,'b',x2,y1,z3,'b',x1,y3,z2,'b',x3,y2,z1,'b',...
x1,y2,z3,'b',x2,y3,z1,'b',x3,y1,z2,'b',x3,y3,z2,'b',x3,y2,z3,'b',x2,y3,z3,'b')
clear
%建立矩阵的两种方式
A1 = [1 2 3 4 5; 6 7 8 9 10];
A2 = [
1 2 3 4 5
6 7 8 9 10
];
%一种是换行用引号,一种是自然写法
clear
A = [5 4 3 2 1; 6 7 8 9 10;1 2 3 4 5;24 24 24 24 24;25 25 25 25 25];
B = [5 4 3 2 1; 6 7 8 9 10;1 2 3 4 5;24 24 24 24 24;25 25 25 25 25];
A_sqare = [1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25];
k = 5;
X1 = A'; %A取转置
X2 = A + B; %求A和B矩阵的和
X3 = A - B; %求A和B矩阵的差
X4 = k * A; %数K乘以A矩阵
X5 = det(A_sqare); %求矩阵A的行列式(注A_sqare必须为方阵)
X6 = rank(A); %求矩阵A的秩
X7 = inv(A_sqare); %求矩阵A的逆(注A_sqare必须为方阵)
X8 = B / A; X8 = B * inv(A_sqare); %A右除B = B右乘A的逆
X9 = B / A; X9 = inv(A_sqare) * B; %A左除B = B左乘A的逆
A.*B % .* 是A的每个元素和B相乘,非矩阵相乘,同理 ./ .^
A(2,:) % 取A矩阵的第2行 然后 A(2,:) = [5 5 5 5 5]就对该行进行赋值
A(:,2) % 取A矩阵的第2列 然后 A(:,2) = [5 5 5 5 5]就对该列进行赋值
A(2:1:4,3:1:4) %取A矩阵中的一块,其语法为A(起始行:步长:终止行,起始列:步长:终止列)
zeros(5) %生成n阶零矩阵
eye(5) %生成n阶单位矩阵
eig(A) %矩阵A的特征值
[X,D] = eig(A) %矩阵A的 特征向量矩阵X 特征值组成的对角阵
A([1,2],:) %1,2行互换
A(:,[2,3]) %1,2列互换
A(2,:) = 5 * A(2,:) %第2行乘以5,列上的操作以此类推
K = [A B;B A] %由几个小矩阵合成一个大矩阵
orth(A) %非奇异矩阵正交化
a1 = A(2,:);
a2 = A(3,:);
a1*a2' %两个向量内积
rref(A) %A的极大无关向量组
matlab画图应用
%while循环
clear
sum = 0;k = 1;
while k<101
sum = sum+k;
k = k + 1;
end
sum
%for循环
clear
sum = 0;n = 1;
for n = 1:100
sum = n + sum;
end
sum
%plot绘图
x = -10:0.1:10;
y = 3*x.^4+x.^2-1;
figure %开启新绘图页面
plot(x,y)
%fplot绘图
clear
figure
fplot(@f1, [-10 10]) %调用f1.m里面的那个function
%ezplot绘图
clear
syms x
figure
y = 3*x^4 + x^2 - 1;
ezplot(y)
%螺旋线绘图 题目:x = cost , y = sint , z = t t属于[0,6pi]
clear
t = 0:0.1:6*pi;
x = cos(t);
y = sin(t);
z = t;
figure
plot3(x,y,z)
%空间曲线绘图 题目: z = sqrt(1 - x^2 - y^2) , (x - 1/2)^2 + y^2 = (1/2)^2
clear
t = 0:0.1:6;
x = 0.5*cos(t)+0.5;
y = 0.5*sin(t);
z = sqrt(1-x.^2-y.^2);
figure
plot3(x,y,z)
%二次曲面绘图 题目: x^2 + y^2 = z
clear
s = -10:1:10;
t = -10:1:10;
[x,y] = meshgrid(s,t);
z = x.^2 + y.^2;
figure
mesh(x,y,z);
%旋转曲面绘图 题目: y = 1/x 围绕y轴旋转
clear
s = -10:0.1:10;
t = -10:0.1:10;
[x,y] = meshgrid(s,t);
r = 1./x;
[x,y,z] = cylinder(r);
figure
mesh(x,y,z)
%输入数
clear
K = input('请输入数');
matlab解方程应用
%常微分方程求解 详细参考PPT(7)
clear
y1 = dsolve('Dy=8-3*y','y(0)=2')
y2 = dsolve('D2y=2*x*Dy/(1+x^2)','y(0)=1,Dy(0)=3')
%微分方程组求解
clear
[X,Y] = dsolve('2*Dx+4*x+Dy-y=exp(t),Dx+3*x+y=0','x(0)=1.5,y(0)=0')
%线性方程组全部解
clear
format rat
A=[1 1 3 -1;0 1 -1 1;1 1 2 2;1 -1 1 -1];
B=[-2;1;4;0];
X = A/B
%方程求解
clear
X = solve('x-exp(-x)=0','x')
%区间里方程求解
%x=0:0.1:10;
%X = solve('5*x^2*sin(x)-exp(-x)','x')
%求微分方程的特解并且做出函数曲线
y0 = [1,0];
[t,x] = ode45(@vdp,[0,30],y0); %从vdp.m这个文件里面读函数
y = x(:,1);
dy=x(:,2);
figure
plot(t,y,t,dy);
%解微分方程
fun=inline('-2*y+2*x*x+2*x');
[x,y]=ode23(fun,[0,0.5],1)
matlab微积分应用
%函数求导
clear
syms x y; %将x y设为变量
f = cos(x)^3-cos(3*x); %需要求导的式子
dy = diff(f,x); %用diff 函数进行求导
%函数求极限
clear
syms x
f = x*log(1+x)/sin(x*x)
limit(f,'x',0,'left') %语法为 limit(求极限的式子,求极限的变量,需要逼近的数字,从左还是从右逼近)
%函数求积分
clear
syms x
f = sym('x*exp(x)/(1+x)^2');
int(f) %语法为 int(求极限的式子,下限,上限) 如果不加上限下限,就是函数式。
int(f,0,1)
pretty(f) %以自然函数形式呈现
%例-求z = x^2 + y^2 , z = 1 , z =2 围成的曲面
clear
syms x y z
z = x^2+y^2;
f = z;
I = int( int( f, y, sqrt(1-x^2), sqrt(2-x^2) ), x, 1, sqrt(2) )
%级数求和
clear
syms n
f = (n+1)/n*2^n;
j = symsum(f, n, 1, inf) %级数求和,下限为1,上限为无穷大
%泰勒展开
clear
syms x
f = cos(x)
taylor(f, 10, x, pi/3) %语法为taylor(待展开函数,取前几项, 变量名, 展开中心)
%求傅里叶系数
clear
syms x n
f = x^3+x^2;
n = 5;
a0 = int(f,x,-pi,pi)/pi
a1 = int(f*cos(1*x),x,-pi,pi)/pi
a2 = int(f*cos(2*x),x,-pi,pi)/pi
a3 = int(f*cos(3*x),x,-pi,pi)/pi
a4 = int(f*cos(4*x),x,-pi,pi)/pi
a5 = int(f*cos(5*x),x,-pi,pi)/pi
b1 = int(f*sin(1*x),x,-pi,pi)/pi
b2 = int(f*sin(2*x),x,-pi,pi)/pi
b3 = int(f*sin(3*x),x,-pi,pi)/pi
b4 = int(f*sin(4*x),x,-pi,pi)/pi
b5 = int(f*sin(5*x),x,-pi,pi)/pi
%求山地等三维图,高线图
x=0:10:1500;
y=0:10:900;
[x1,y1]=meshgrid(x,y) ;
z= xlsread('ZZchazhi111.xls','sheet1','A1:CM151'); %读入excel文件数据
Z=z';
figure;
mesh(x1,y1,Z)
figure;
contourf(x1,y1,Z,3)
%生成excel
clear all
%list x,y,z
x = xlsread('shandibiao.xls','sheet1','A3:A37');
y = xlsread('shandibiao.xls','sheet1','B2:AZ2');
z = xlsread('shandibiao.xls','sheet1','B3:AZ37');
Z = z';
%cha zhi. jian ge 10
xx = 0:10:900;
yy = 0:10:1500;
[XX, YY] = meshgrid(xx, yy);
ZZ = interp2(x, y, Z, XX, YY, 'cubic');
xlswrite('chazhi10de',ZZ) %生成excel
%cha zhi. jian ge 1
xxx = 0:1:900;
yyy = 0:1:1500;
[XXX, YYY] = meshgrid(xxx, yyy);
ZZZ = interp2(xx, yy, ZZ, XXX, YYY, 'cubic');
%
clc一种长方体的绘制方法
clear all
x1=zeros(1,10);
y1=zeros(1,10);
z1=zeros(1,10);
x2=linspace(0,50,10);
y2=linspace(0,50,10);
z2=linspace(0,14,10);
x3=50*ones(1,10);
y3=50*ones(1,10);
z3=14*ones(1,10);
figure
plot3(x2,y1,z1,'b',x1,y1,z2,'b',x1,y2,z1,'b',x2,y1,z3,'b',x1,y3,z2,'b',x3,y2,z1,'b',...
x1,y2,z3,'b',x2,y3,z1,'b',x3,y1,z2,'b',x3,y3,z2,'b',x3,y2,z3,'b',x2,y3,z3,'b')
相关文章推荐
- 解析在main函数之前调用函数以及对设计的作用详解
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 从java中调用matlab详细介绍
- VC++与Matlab混合编程的快速实现
- Matlab 矩阵运算
- matlab与opencv部分函数的对照
- matlab神经网络工具箱创建神经网络
- Matlab
- MATLAB 入门教程
- matlab函数_连通区域
- MATLAB中函数模式和命令模式的区别
- MATLAB 添加自定义的模块到simulink库浏览器
- MATLAB for Mac使编辑器支持中文
- [转]matlab中plot用法
- matlab程序优化以及eclipse与github的结合
- matlab中的rand函数(用于产生随机数)
- 图像增强算法四种,图示与源码,包括retinex(ssr、msr、msrcr)和一种混合算法
- MATLAB R2012a 安装到 Ubuntu 12.10
- 智慧网 分享DCT,DST,matlab