Matlab基础知识汇总(小白速成)

这篇具有很好参考价值的文章主要介绍了Matlab基础知识汇总(小白速成)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.矩阵

1.矩阵运算符

运算 符号 说明 具体表现实现
转置 A.' 矩阵转置 matlab基础总结,Matlab,matlab,开发语言,算法
共轭转置 A' 复矩阵共轭转置,当A为实数矩阵时等价于A.' matlab基础总结,Matlab,matlab,开发语言,算法
加减 A+B、A-B 矩阵元素之间相互进行加减 matlab基础总结,Matlab,matlab,开发语言,算法
数与矩阵加减 K+A、K-A 数与矩阵的加减操作 matlab基础总结,Matlab,matlab,开发语言,算法
数乘以矩阵 k*A 数对矩阵中的每个元素进行相乘 matlab基础总结,Matlab,matlab,开发语言,算法
矩阵相乘 A * B A.*B 乘法运算:点乘(对应元素相乘) 乘(矩阵相乘) matlab基础总结,Matlab,matlab,开发语言,算法
矩阵乘方 A^k 相当于k个A进行相乘 matlab基础总结,Matlab,matlab,开发语言,算法
矩阵除法 左除A\B 右除A/B 相当于AX=B XA=B的解 matlab基础总结,Matlab,matlab,开发语言,算法

2.特殊矩阵的生成

1.零矩阵
  • zeros(m,n) 生成m行n列的零矩阵

 

2. 1矩阵
  • ones(m,n)生成m行n列元素都为1的矩阵

 matlab基础总结,Matlab,matlab,开发语言,算法

 

3.单位阵
  • eye(n) 生成n阶单位阵

 matlab基础总结,Matlab,matlab,开发语言,算法

 

4.随机矩阵
  • rand(m,n) 生成m行n列在[0,1]上均匀分布的随机矩阵

 matlab基础总结,Matlab,matlab,开发语言,算法

 

3.矩阵处理

 matlab基础总结,Matlab,matlab,开发语言,算法

 

1.矩阵的迹(对角线之和)
  • trace(A) 返回矩阵A的迹(对角线元素的和)

 matlab基础总结,Matlab,matlab,开发语言,算法

 

2.提取对角线向量
  • diag(A) 返回矩阵A的对角线元素构成的向量

 matlab基础总结,Matlab,matlab,开发语言,算法

 

3.向量生成的对角矩阵
  • diag(x) 返回由向量x的元素构成的对角矩阵

 matlab基础总结,Matlab,matlab,开发语言,算法

 

4.提取下三角矩阵
  • tril(A) 提取矩阵A的下三角矩阵

 matlab基础总结,Matlab,matlab,开发语言,算法

 

5.提取上三角矩阵
  • triu(A) 提取矩阵A的上三角矩阵

 matlab基础总结,Matlab,matlab,开发语言,算法

 

6.矩阵上下翻转
  • flipud(A) 矩阵上下翻转

 matlab基础总结,Matlab,matlab,开发语言,算法

 

7.矩阵左右翻转
  • fliplr(A) 矩阵左右翻转

 matlab基础总结,Matlab,matlab,开发语言,算法

 

8.重排矩阵
  • reshape(A,m,n) 将矩阵A的元素重排成m行n列矩阵

 matlab基础总结,Matlab,matlab,开发语言,算法

 

4.矩阵分析

 matlab基础总结,Matlab,matlab,开发语言,算法

 

1.rank(矩阵的秩运算)
  • rank(A) 返回A的秩

 matlab基础总结,Matlab,matlab,开发语言,算法

 

2.det(矩阵的行列式运算)
  • det(A) 返回方阵A的行列式

 matlab基础总结,Matlab,matlab,开发语言,算法

 

3.inv(矩阵的逆运算)
  • inv(A) 返回A的逆矩阵

 matlab基础总结,Matlab,matlab,开发语言,算法

 

4.null(AX=0的基础解系)
  • null(A) 返回A的零矩阵的基,即AX=0的基础解系

 matlab基础总结,Matlab,matlab,开发语言,算法

 

5.orth(矩阵的正交规范基)
  • orth(A) 求A的列向量空间的正交规范基

 matlab基础总结,Matlab,matlab,开发语言,算法

6.norm(向量的范数)x
  • norm(x) 返回向量x的范数(向量“大小”的度量),即

 matlab基础总结,Matlab,matlab,开发语言,算法

 

7.norm(矩阵的范数)A
  • norm(A) 返回矩阵A的范数(矩阵“大小”的度量),即matlab基础总结,Matlab,matlab,开发语言,算法

     matlab基础总结,Matlab,matlab,开发语言,算法

8.expm(矩阵的指数函数)
  • expm(A) 返回矩阵A的指数函数,即级数和matlab基础总结,Matlab,matlab,开发语言,算法

     matlab基础总结,Matlab,matlab,开发语言,算法

     

9.矩阵的特征值以及特征向量
  • [V,D]=eig(A) V--特征向量矩阵 D--特征值的对角矩阵

 matlab基础总结,Matlab,matlab,开发语言,算法

10.magic(幻方矩阵)

例题:秩对解的影响

用矩阵除法解下列线性方程组,并判断解的意义,用矩阵乘方进行验算

  • 如果rank(A,b)==rank(A)---->方程有解

    • rank(A)==length(A) 有唯一解 (满秩)----> 可逆 <--det(A)!=0

    • rank(A)<length(A) 有无穷多解 det(A)==0---->不可逆

  • rank(A)<rank(A,b)---->方程无解

if rank(A)==rank([A,b])
    disp("方程组有解");
    %使用rref求出矩阵的最简形式(行简化阶梯型)
    simple=rref([A,b])
    if  rank(A)==length(A)
        disp("方程组有唯一解");
    else if rank(A)<length(A)
            disp("方程组有无穷多解");
        end
    end
else
    disp("方程组无解");
end

 

2.函数与图像

1.基本语句
1.if条件控制语句
if  情况1(满足情况1则会执行结果1)
    结果1
else(否则就会执行结果2)
    结果2
end
if  情况1(满足情况1则会执行结果1)
       结果1
else if 情况2(满足情况2则会执行结果2)
       结果2
else(否则执行结果3)
    结果3
end
​
2.switch选择语句
switch a(与a相比,若相同则执行对应的结果)
    case a1
        结果1
    case a2
        结果2
    case a3
        结果3
    ...
    otherwise
        结果n
end
3.try-catch语句
try
    %可能会抛出异常的代码
catch
    %处理异常代码
end
4.for循环
for index=起始点:终点值
    循环操作
end
5.while循环
while 循环条件
    循环操作
end
2.函数
1.函数的定义
function 返回的结果参数=函数名(入参)
      函数实际操作
end
function sum=func1(n)
if n<1
    sum=1;
else
    sum=func1(n-1)*n;
end
2.函数的运行
result=func1(5)  //定义一个变量去接收结果
3.绘制图像
1.曲线图 曲面图
sin(x)
>> x=0:0.01:2*pi;//设置x区间步长
>> y=sin(x);//设置需要画图的函数
>> plot(x,y);//画图
>> xlabel("x轴");//设置x轴名称
>> ylabel("y轴");//设置y轴名称
>> title("sin(x)")//设置标题
常用颜色以及线型

颜色:

  • ‘b’ - 蓝色(blue)

  • ‘g’ - 绿色(green)

  • 'r' - 红色(red)

  • 'c' - 青色 (cyan)

  • 'm' - 洋红色(magenta)

  • 'y' - 黄色(yellow)

  • 'k' - 黑色(black)

  • 'w' - 白色(white)

线型:

  • ‘-’ 实线(solid)

  • '--' 虚线(dashed)

  • ':' 点线(dotted)

  • '-.' 点划线(dash-dotted)

x=0:0.01:2*pi;//设置x区间步长
y=sin(x);//设置需要画图的函数
plot(x,y,'r--');//画图
xlabel("x轴");//设置x轴名称
ylabel("y轴");//设置y轴名称
title("sin(x)")//设置标题
legrnd('sin(x)')//设置图例
ezplot(可迅速绘制简单图形)

ezplot('sin(x)',[0,2*pi])

matlab基础总结,Matlab,matlab,开发语言,算法

stairs(阶梯状曲线图)

stairs(x,y,'LineWidth',2)

matlab基础总结,Matlab,matlab,开发语言,算法

 x=randn(1,100);

x=randn(1,100);
>> y=randn(1,100);
>> scatter(x,y,"filled")

matlab基础总结,Matlab,matlab,开发语言,算法

 poparplot(绘制极坐标图)

>> x=linspace(0,2*pi,100);
>> y=2*sin(3*x);
>> polarplot(x,y,"LineWidth",2)

matlab基础总结,Matlab,matlab,开发语言,算法

 area(绘制面积图,数据之前的关系变化趋势)

 x=0:0.1:2*pi;
>> y1=sin(x);
>> y2=cos(x);
>> area(x,[y1:y2]','LineStyle','--')

matlab基础总结,Matlab,matlab,开发语言,算法

 contour(绘制等高线)

 [X,Y]=meshgrid(-2:0.1:2);
>> Z=X.^2+Y.^2;
>> contour(X,Y,Z,20)

matlab基础总结,Matlab,matlab,开发语言,算法

 quiver(绘制矢量图,向量的大小以及方向)

 [X,Y]=meshgrid(-2:0.1:2);
>> Z=X.^2+Y.^2;
>> contour(X,Y,Z,20)
>> [DX,DY]=gradient(Z,0.25,0.25);
>> quiver(X,Y,DX,DY)

matlab基础总结,Matlab,matlab,开发语言,算法

 surf(绘制三维曲面图,三元函数的空间形态)

 [X,Y]=meshgrid(-2:0.1:2);
 Z=peaks(X,Y);
 surf(x,y,z)

matlab基础总结,Matlab,matlab,开发语言,算法

 histogram(绘制直方图,展示数据的分布情况)

x=randn(1000,1);
histogram(x,'Normalization','probability');//对数据进行了概率密度归一化

matlab基础总结,Matlab,matlab,开发语言,算法

 bar(绘制条形图,对不同数据进行展示)

>> x=categorical({'A','B','C','D','E'});
>> y=[3 5 2 7 4];
>> bar(x,y)

matlab基础总结,Matlab,matlab,开发语言,算法

 pie(绘制饼函数,展示不同的占比情况)

>> x=[25 35 20 15 10];
>> labels={'A','B','C','D','E'};
>> pie(x,labels);

matlab基础总结,Matlab,matlab,开发语言,算法

 stem(绘制离散数据的垂直线段图)

>> x=0:0.1:2*pi;
>> y=sin(x);
>> stem(x,y);

matlab基础总结,Matlab,matlab,开发语言,算法

 pcolor(绘制伪彩色图)

>> [X,Y]=meshgrid(-2:0.1:2);
>> Z=X.^2+Y.^2;
>> pcolor(X,Y,Z);
>> shading interp;

matlab基础总结,Matlab,matlab,开发语言,算法

 errorbar(绘制带误差线的线图,展示数据的变化范围以及置信区间)

>> x=1:5;
>> y=[3 5 2 7 8];
>> e=[0.5 1 0.3 1.2 0.8];
>> errorbar(x,y,e,'o','MarkerSize',10,'LineWidth',2);

matlab基础总结,Matlab,matlab,开发语言,算法

 rose(绘制极径图,展示数据的极向分布)

>> x=2*pi*rand(1,1000);
>> rose(x);

matlab基础总结,Matlab,matlab,开发语言,算法

 boxplot(绘制箱线图,展示分布情况和异常值)

>> x=[randn(100,1);5+0.5*randn(50,1)];
>> g=[zeros(100,1);ones(50,1)];
>> boxplot(x,g,'Labels',{'Group 1','Group 2'});

matlab基础总结,Matlab,matlab,开发语言,算法

 polarhistogram(绘制极坐标直方图,展示数据的极向分布)

>> x=2*pi*rand(1,1000);
>> polarhistogram(x,20);

matlab基础总结,Matlab,matlab,开发语言,算法

 wordcloud(绘制词云图,展示文本数据的词频分布)

txt=fileread("文件.txt")
wordcloud(txt);

matlab基础总结,Matlab,matlab,开发语言,算法

3.函数与方程
1.常用函数
主题词 意义
polyval 多项式求值(作用在多项式系数和x向量求y向量,返回n次多项式p在x的值)
conv 多项式的乘积
deconv 多项式的除法
roots 求多项式的根
feval 函数求值
inline lnline函数
fzero 求一元函数实根
fsolve 方程组数值求解
fminbnd 一元函数求值
fminserach 多元函数求值
isqcurvefit 曲线拟合
polyfit 多项式拟合
2.求根
  • roots

roots函数用于求解多项式方程的根,即找到多项式在复数域中的所有根,它的输入是一个包含多项式系数的向量,输出是一个包含多项式在复数域中所有根的向量,roots函数使用的是拉格朗日-牛顿插值法,通过对多项式进行插值来计算多项式的根,因此,roots函数适用于求解多项式方程的根,但不能用于求解非多项式的根。

%函数表达式
syms x
f=(2.*x+3).^3-4;
%将多项式进行展开
f_v=expand(f)%8*x^3 + 36*x^2 + 54*x + 23
%展开后提取系数
p=[8,36,54,23];
%对多项式进行求根
value=roots(p)
polyval(p,value)
  • fzero

fzero函数用于求解单变量非线性方程的零点,即在给定的区间内找到函数的一个根,它使用的是单点迭代法(牛顿迭代法),通过不断逼近函数的零点来计算方程的解,因此,fzero函适用于求解多变量非线性方程组的根

>> %函数表达式
>> f=@(x)(2.*x+3).^3-4;
>> %区间
>> x=[-3,3];
>> %求解方程的零点
>> x=fzero(f,x);
>> %输出结果
>> disp(x)
   -0.7063
  • fsolve(非线性方程)

%定义非线性方程组
f=@(x)[9*x(1)^2+36*x(2)^2+4*x(3)^2-36;x(1)^2-2*x(2)^2-20*x(3);16*x(1)-x(1)^3-2*x(2)^2-16*x(3)^2];
%初始值
x=[1;1;1];
%求解方程组
x=fsolve(f,x);
%输出结果
disp(x)
3.多项式拟合
  • polyfit

polyfit是MATLAB中用于多项式拟合的函数,它可以根据给定的数据点,拟合出一个给定次数的多项式函数(x,y,n)

  • polyval

计算拟合结果

注意:多项式拟合并不一定能够完全恢复原始数

[x,fval]=fminbnd(fun,x1,x2)

据的特征,当拟合多项式次数过高时,可能会出现拟合的情况,导致拟合结果对于噪声过于敏感,从而失去了真实数据的预测能力,因此,在进行多项式拟合时,需要根据具体的数据特征和拟合目标,选择合适的多项式次数,避免出现过拟合或欠拟合的情况。

4.函数极值
  • fminbnd(求解单变量有界函数最小值)

注意:‘fun’表示待求解的单变量有界函数,可以是一个函数句柄,一个匿名函数或一个函数字符串;‘x1’和‘x2’分别为待求解区间的左右端点,即函数的取值范围,函数的输出结果包括了一个标量‘x’,表示函数的最小值点,以及一个标量‘fval’,表示函数在最小值点的取值。

该函数使用的是黄金分割法,通过不断的狭窄区间范围来逐步逼近函数的最小值点,因此,该函数适用于求解单变量有界函数的最小值,但不能用于求解多变量函数的最小值,无界函数的最小值或非连续函数的最小值。

5.微积分
主题词 意义
diff 导数(数值差分)
gradient 数值导数和梯形
polyder 多项式求导
quiver 方向导数图
trapz 梯形积分法
quadl 高精度积分
int 积分
integral 高精度积分
dblquad 矩阵二重积分
quad2d 二重积分
integral2 二重积分
triplequad 矩阵三重积分
integral3 三重积分
4.符号函数和符号矩阵

概念:函数计算是使用符号表达式来计算数学计算,而不是数值计算,符号表达式包含符号变量和数学运算符,可以表示数学公式、方程、函数等。符号计算可以进行求导、积分、解方程、化简等操作,得到的结果也是符号表达式,具有高精度和通用性。

在matlab中,可以使用符号工具箱进行符号计算,符号工具箱提供了一组函数和工具,用于创建、操作、化简符号表达式,以及进行符号积分、符号求导、符号求解等操作,使用符号工具箱进行符号变量和运算符来构造符号表达式。

符号计算和作用指令

主题词 意义
sym 将数值或字符转化为符号
symfun 定义符号函数
syms 定义符号变量或函数
subs 变量替换
digits 定义数值精度
vpa 任意精度计算
double 将符号对象转换为数值
char 将符号对象转换为字符串
factor 因式分解
expand 展开式
collect 合并同类项
finverse 求函数逆
compose 求复合函数
simplify 化简
simple 化为最短形式
numden 分时通分
funtool 函数计算器
limit 符号极限
symsum 级数求和
diff 求导函数
taylor 泰勒展开
taylortool 泰勒展开计算器
jacobian Jacobi矩阵
int 积分
solve 解方程
vpasolve 方程数值解
dsolve 解微分方程
ezplot 简捷函数曲线
ezpolar 极坐标图
ezplot3 空间曲线
ezmesh 网面
ezsurf 曲面
ezcontour 等高线
latex 公式的Latex公式
ccode 公式的C代码
matlabFunction 公式的MATLAB代码
evalin 调用Mupad计算
mupad 调用Mupad计算
1.符号对象

符号对象是一种特殊的数据类型,称为符号对象,用字符串形式表达,但又不同于字符串,符号运算中的变量、函数和表达式都是符号对象。

>> %数值表达式
>> n=pi*2;
>> %数值转换为符号对象
>> a=sym(n);
>> %定义符号变量以及符号计算表达式
>> syms x y c
>> d=x^3+2*y^2;
>> %定义符号矩阵
>> A=[x,y;2*x,2*y]
 
A =
 
[   x,   y]
[ 2*x, 2*y]
 
>> A=subs(A,x,c)
 
A =
 
[   c,   y]
[ 2*c, 2*y]
2.计算精度和数据类型转换

符号数值计算默认精度为32位十进制,是MATLAB数值计算的两倍,符号工具箱号提供了计算精度设置指令,可以定义任意精度的数值计算。

matlab基础总结,Matlab,matlab,开发语言,算法

 

>> %s为圆周率
>> s=pi
s =
    3.1416
>> %将数值计算精度设置为8位
>> digits(8)
>> %求s的数值结果
>> x=vpa(s)
x = 
3.1415927 
>> %采用n位计算精度求s的数值结果
>> x=vpa(s,n)
x =
3.14159
>> x=vpa(s,4) 
x = 
3.142 
>> %符号对象转换为双精度
>> double(s)
ans =
    3.1416
>> %符号对象转换为字符串
>> char(s)
3.符号矩阵和符号函数

MATLAB大部分矩阵和数组运算符及指令都可以应用于符号矩阵,大部分MATLAB数学函数和逻辑关系运算也可以用于符号对象。

>> %f(x,y)=(x-y)^3
>> %g(x,y)=(x+y)^3
>> %定义符号变量
>> syms x y;
%定义函数
>> f=(x-y)^3;
>>  g=(x+y)^3;
%两个函数相乘
>> h=f*g;
%展开多项式
>> hs=expand(h)
 
hs =
 
x^6 - 3*x^4*y^2 + 3*x^2*y^4 - y^6
%因式分解
>> hf=factor(hs)
 
hf =
 
[ x - y, x - y, x - y, x + y, x + y, x + y]
%定义符号函数,自变量是xy
>> fun=symfun(f*g,[x,y])
 
fun(x, y) =
 
(x + y)^3*(x - y)^3
%符号计算替换无需使用subs方法
>> s=fun(x,x^2+x+1)
 
s =
 
-(x^2 + 1)^3*(x^2 + 2*x + 1)^3
>> %合并同类项,变量x
>> scol=collect(s,x)
 
scol =
 
- x^12 - 6*x^11 - 18*x^10 - 38*x^9 - 63*x^8 - 84*x^7 - 92*x^6 - 84*x^5 - 63*x^4 - 38*x^3 - 18*x^2 - 6*x - 1
 
>> %化简
>> ssim=simplify(scol)
 
ssim =
 
-(x^2 + 1)^3*(x + 1)^6
%数学公式的Latex输出
latex(ssim)
​
ans =
​
    '-{\left(x^2+1\right)}^3\,{\left(x+1\right)}^6'
%数学公式的C语言代码
ccode(ssim)
​
ans =
​
    '  t0 = -pow(x*x+1.0,3.0)*pow(x+1.0,6.0);'
%数学公式的matlab匿名函数代码
matlabFunction(ssim)
​
ans =
​
  包含以下值的 function_handle:
​
    @(x)-(x.^2+1.0).^3.*(x+1.0).^6
4.符号微积分
  • 符号函数的极限limit(f,x,a)

f为所求极限的函数,x为变量,a为常数,求函数f关于变量x在a点处的极限,a和x都可以省略,若x省略,则x默认为是系统自变量,若a省略,a的默认值为0,若f的左右极限不等,还可以求单边极限:

limit(f,x,a,'right') limit(f,x,a,'left')

  • 符号函数的导数diff(f,x,n)

函数f关于变量x的n阶导数,n是多少就是对目标函数求几阶导数

  • 符号函数的积分int(f,x,a,b)

定积分:int(f,x) 不定积分:int(f,x,a,b) inf为无穷大

 matlab基础总结,Matlab,matlab,开发语言,算法

 

>> %定义符号变量
>> syms n x;
>> %定义表达式
>> f=(1+x/n)^n;
>> g=(-1)^n*x^n/n;
>> %符号极限的计算,变量n趋向于正无穷大
>> limit(f,n,inf)
 
ans =
 
exp(x)
 
>> %离散求和,变量n从1到无穷
>> symsum(g,n,1,inf)
 
ans =
 
piecewise(x == -1, Inf, abs(x) <= 1 & x ~= -1, -log(x + 1))

2.Matlab常规应用

1.分段函数

 matlab基础总结,Matlab,matlab,开发语言,算法

 

  • 使用匿名函数

>> %定义分度函数
>> f=@(x)(x>1).*x.^2+(-1<=x&x<1).*1+(x<=-1).*(3+2*x);
>> %生成x向量
>> x=linspace(-2,2,1000);
>> %计算y向量
>> y=f(x);
>> %绘制函数曲线
>> plot(x,y)
//设置网格曲线
>> grid on
%x坐标名称
>> xlabel('x')
#y坐标名称
>> ylabel('y')
%题目
>>title('分段函数f(x)')
legend('表达式1','表达式2')

 matlab基础总结,Matlab,matlab,开发语言,算法

  • 使用分段函数

编辑一个part脚本函数

function y=part(x)
n=length(x);
for i=1:n
    if x(i)>1
        y(i)=x(i).^2;
    elseif x(i)>-1
        y(i)=1;
    else
        y(i)=3+2*x(i);
    end
end
end
  • 通过find获取下标

>> x=linspace(-2,2,1000);
>> y=zeros(size(x));
>> ind1=find(x>1);%第一段函数的下标
>> ind2=find(x>-1&x<=1);%第二段函数的下标
>> ind3=find(x<=-1);%第三段函数的下标
>> y(ind1)=x(ind1).^2;%第一段函数
>> y(ind2)=1;%第二段函数
>> y(ind3)=3+2*x(ind3);%第三段函数

2.三维平面图

  • mesh绘图

>> %meshgrid函数用于生成二维网格矩阵,从而方便地生成网格图或三维图形
>> [X,Y]=meshgrid(-2:0.1:2);%相当于生成区间
>> %三维表达式
>> Z=X.^2-Y.^2;
>> %mesh方法绘制三维网格图
>> mesh(X,Y,Z);
>> xlabel('x');
>> ylabel('y');
>> zlabel('z');
>> title('三维网格图');

 matlab基础总结,Matlab,matlab,开发语言,算法

  • surf绘图

>> %生成数据
>> %meshgrid函数可以用于生成二维网格矩阵,从而方便地生成网格图或三维图形
>> [X,Y]=meshgrid(-2:0.1:2);%相当于生成区间
>> %三维表达式
>> Z=X.^2-Y.^2;
>> %surf方法绘制三维曲面图
>> surf(X,Y,Z);
>> xlabel('x');
>> ylabel('y');
>>  zlabel('z');
>> title('三维曲面图');

 matlab基础总结,Matlab,matlab,开发语言,算法

  • 使用contour方法绘制等高线

>> %生成数据
>> %meshgrid函数可以用于生成二维网格矩阵,从而方便地生成网格图或三维图形
>> [X,Y]=meshgrid(-2:0.1:2);%相当于生成区间
>> %三维表达式
>> Z=X.^2-Y.^2;
>> %contour方法绘制三维网格图
>> contour(X,Y,Z);
%如果想要确定某一等高线直接在后面添加参数
%contour(X,Y,Z,[1]);
>> xlabel('x');
>> ylabel('y');
>>  zlabel('z');
>> title('三维等高线');

 matlab基础总结,Matlab,matlab,开发语言,算法

3.三维线性图

  • 使用plot3绘制三维线条

>> %生成数据
>> t=linspace(0,10*pi,1000);
>> x=sin(t);
>> y=cos(t);
>> z=t;
>> %绘制三维线条图
>> plot3(x,y,z);
>> xlabel('x');
>> ylabel('y');
>> zlabel('z');
>> title('三维线条图');

 matlab基础总结,Matlab,matlab,开发语言,算法

4.矩阵运算(线性方程组求解问题)

使用rref化为行最简化求方程组的解答

matlab基础总结,Matlab,matlab,开发语言,算法

>> %根据线性方程组得到矩阵A,b
>> A=[1 -1 1 -1;-1 1 1 -1;2 -2 -1 1];
>> b=[1;1;-1];
>> %只有当矩阵A的秩和增广矩阵(A,b)秩相等才有解答
>> if rank(A)==rank([A,b])
      %使用rref求增广矩阵行最简
          rref([A,b])
else
    disp('次方程组无解')
end
​
ans =
​
     1    -1     0     0     0
     0     0     1    -1     1
     0     0     0     0     0

正交变换--将二次型化为标准型

首先根据给出的公式写出矩阵A,通过矩阵A求特征值和特征向量,正交化,规范化然后求出标准化

normalize.m(规范化)

function V_norm=normalize(V)%定义规范函数
%对向量进行规范化
[m,n]=size(V);
for i=i:n
    V_norm(:,i)=V(:,i)/norm(V(:,i));
end
end

gramSchmidt.m(正交化)文章来源地址https://www.toymoban.com/news/detail-718339.html

function [Q,R]=gridSchmidt(A)
%Gram-Schmidt 正交化过程
[m,n]=size(A);
Q=A;
R=zeros(n,n);
for j=1:n
    R(j,j)=norm(Q(:,j));
    Q(:,j)=Q(:,j)/R(j,j);
    for i=j+1:n
        R(j,i)=Q(:,j)*Q(:,i);
        Q(:,i)=Q(:,i)-R(j,i)*Q(:,j);
    end
end
end

到了这里,关于Matlab基础知识汇总(小白速成)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • MATLAB矩阵基础知识(一)

    MATLAB矩阵基础知识(一)

            MATLAB即Matrix Laboratory(矩阵实验室),可见MATLAB在矩阵问题上的优势,本次内容主要关于矩阵的生成调用。         矩阵是由m*n个数组成的m行n列的数表,也可以看做m个n维向量组成。若m=n则矩阵为n阶仿真。 矩阵的生成  1、直接通过键盘输入生成矩阵是最常用的

    2024年02月10日
    浏览(10)
  • MATLAB基础知识之数组与矩阵

    MATLAB基础知识之数组与矩阵

    本文是参考书籍《MATLAB R2020a完全自学一本通 》自己整理的一些笔记和一些练习,希望会给大家带来一些帮助。 目录 1、数组创建与运算 1.1数组的创建 1.2数组的运算 1.2.1 算术运算  1.2.2关系运算与逻辑运算  2、矩阵的构造与操作 2.1矩阵的构造 2.2矩阵的操作 2.3矩阵索引  2

    2024年02月07日
    浏览(7)
  • matlab基础知识加矩阵运算初步

    matlab基础知识加矩阵运算初步

    ** matlab(matrix laboratory)** 功能符号 1.分号(;) 不让matlab显示运算结果,抑制输出 2.续行号(…) 某行命令太长,指令行必须多行书写时,使用“…\\\"处理,表示下一行是上一行的连续 常用指令 1.cd 显示或改变工作目录 2.clc 清空命令行窗口 3.clear 清除所有变量 clear+变量名 清除一

    2024年02月10日
    浏览(22)
  • MATLAB基础知识——范数求解函数norm

    MATLAB基础知识——范数求解函数norm

    矩阵或向量的范数用来度量矩阵或向量在某种意义下的长度。 基于MATLAB语言,对应于向量和矩阵分别存在以下三种常用的范数,分别为: 1范数(L1范数),2范数(L2范数),∞范数(L∞范数)。 向量以及矩阵的范数 norm(V)或者norm(V,2): 用来计算向量(矩阵)V的2范数。 norm(V,1

    2024年02月16日
    浏览(10)
  • 快速上手MATLAB:科研、工程、数据分析,MATLAB入门(上)教你基础知识!+分享MATLAB完全学习手册资料(视频+课件+代码

    快速上手MATLAB:科研、工程、数据分析,MATLAB入门(上)教你基础知识!+分享MATLAB完全学习手册资料(视频+课件+代码

    1、《MATLAB完全学习手册(视频+课件+代码)》 2、《MATLAB入门》 3、《详解MATLAB在科学计算中的应用》 4、《案例二 MATLAB与Excel交互》 5、《MATLAB初学者教程 MATLAB编程-菜鸟入门(清晰版)》 6、《MATLAB常用函数参考 MATLAB函数汇总 精通MATLAB》 7、等等。。。。 编程语言基础:M

    2024年02月06日
    浏览(35)
  • 快速上手MATLAB:科研、工程、数据分析,MATLAB入门(下)教你基础知识!分享《MATLAB初学者教程 MATLAB编程-菜鸟入门(清晰版)》

    快速上手MATLAB:科研、工程、数据分析,MATLAB入门(下)教你基础知识!分享《MATLAB初学者教程 MATLAB编程-菜鸟入门(清晰版)》

    1、《MATLAB完全学习手册(视频+课件+代码)》 2、《MATLAB入门》 3、《详解MATLAB在科学计算中的应用》 4、《案例二 MATLAB与Excel交互》 5、《MATLAB初学者教程 MATLAB编程-菜鸟入门(清晰版)》 6、《MATLAB常用函数参考 MATLAB函数汇总 精通MATLAB》 7、等等。。。。 前两天,我们在(

    2024年02月07日
    浏览(47)
  • Unity | Shader基础知识(第九集:shader常用单词基础知识速成)

    Unity | Shader基础知识(第九集:shader常用单词基础知识速成)

    目录 一、顶点(Vertex)和法线(Normal) 二、UV信息 三、 基础数据种类 1 基础数据种类 2 基础数据数组 3 基础数据数组的赋值 4 对数据数组的调用 四、 基础矩阵 1 基础矩阵种类  2 对矩阵数组的调用 2.1对一个数据的调用  2.2对多个数据的调用  2.3对数据的赋值 五、基础纹理种

    2024年02月01日
    浏览(13)
  • 图论及其应用(基础知识)(1)(数学建模基础速成)

    图论及其应用(基础知识)(1)(数学建模基础速成)

    能否从任一陆地出发通过每座桥恰好一次而 回到出发点? 你要是自己做过,就会显而易见的发现这道题是 没有答案 的(遵守规则以及图形规定的情况下) 欧拉就这个问题说过: 如果每块陆地所连接的桥都是 偶数 座,则从任一陆地出发,必能通过每座桥恰好一次而回到出

    2023年04月08日
    浏览(5)
  • Unity | Shader基础知识(第十集:shader常用外部资产单词速成)

    Unity | Shader基础知识(第十集:shader常用外部资产单词速成)

    目录 一、外部资产简介 二、常用的外部资产单词 三、常用的外部资产单词和引入内部 四、图片资产外部调整的具体讲解 1.Tiling,中文:铺地砖 2.Offset,中文:偏移 五、作者的话 一、外部资产简介 在第六集中,我们加入过外部颜色资源。 Unity | Shader基础知识(第六集:语法

    2024年04月13日
    浏览(8)
  • 计算机基础知识(基础入门小白专属)

    ♥️ 作者:小刘在这里 ♥️ 每天分享云计算网络运维课堂笔记,疫情之下,你我素未谋面,但你一定要平平安安,一  起努力,共赴美好人生! ♥️ 夕阳下,是最美的,绽放,愿所有的美好,再疫情结束后如约而至。 目录 计算机的发展史 计算机的硬件组成 计算机的分类

    2024年02月08日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包