Matlab学习笔记

奋斗吧
奋斗吧
擅长邻域:未填写

标签: Matlab学习笔记

2023-07-21 18:23:31 116浏览

a=[1 2 3;4 5 6;7 8 9]*表示矩阵乘法.* .^之类则是对矩阵每个元素运算(点乘)inv(a)矩阵的逆format long/short 显示更多/更少位小数串联 A=[a a] 横着 [a;a] 竖着sum(A)会得到各列的和(得到行向量)zeros(n,m)得到零矩阵 ones(n,m)得到1矩阵删除某行或某列用=[],如删除整个第二列获得的矩阵方程 xA = b 的解。

1.入门

1.1矩阵与运算

        a=[1 2 3;4 5 6;7 8 9]

        *表示矩阵乘法

        .*  .^之类则是对矩阵每个元素运算(点乘)

        inv(a)矩阵的逆

        format long/short 显示更多/更少位小数

        串联 A=[a  a] 横着  [a;a] 竖着

        sum(A)会得到各列的和(得到行向量)

        zeros(n,m)得到零矩阵 ones(n,m)得到1矩阵

        删除某行或某列用=[],如删除整个第二列 X(:,2) = []

        x = b/A 获得的矩阵方程 xA = b 的解

        x = A\b 获得矩阵方程xA=b的解

1.2数组索引

        A(4,2)坐标索引

        A(10)次序索引,会按照列来数,第一列数满到第二列……

        :表示从多少到多少

        A(2:4,2)表示提取2~4行,每行的第二列

        A(2,:)表示提取第二行的所有列

        创建等间距向量值 A=0:10:100,中间是间距,出来是0,1,2,3……100

        如果直接0:100,默认间距为1

       A(:,[1,3,2,4]) 取每行,列按1 3 2 4的顺序取每列

      用逻辑下标表示法进行按逻辑删除/修改元素:

        x = x(isfinite(x)) 删除向量中所有无效值(NaN,Inf),保留有实际的值

        x = x(abs(x-mean(x)) <= 3*std(x)) 删除比均值大三倍标准差的离群值

                mean求均值,std求标准差

        A(~isprime(A)) = 0 将非质数设置为0

        find函数获取索引:k = find(isprime(A)) %获取所有质数的索引

                这样可以A(k)调取所有质数

1.3工作区

        whos查看工作区全部变量的信息,后面加名字就只查某一个

        save保存工作区数据到.mat

        load把.mat的数据加载到工作区

        clear清除工作区

        clc清除命令区

        语句无法容纳在某行时,可以用… 这样下一行会串联

1.4字符串

       B=“sfse”

        A=["ada" "asfs" "gs";"sge" "fas" "sf"]

        strlength(A)会对每个元素求长度得到矩阵

        a=‘afawfaw’ 字符数组 double(a)可获取ascll码,char(a)再转回去

        可以提取每一位,如a(2)=‘f’,字符串就不能提取每一位,因为个体就是最小单位

1.5绘图

        linspace(a,b)表连续范围

        plot(x,y,"--") 二维平面,虚线

        xlabel(“”) / ylabel(“”) 给x和y轴命名

        title(“ ”)给图表命名

        legend(" "," ")按顺序对线取名

        hold on 定住图表,下次更新时保留原图

        hold off 解除锁定,下次更新时上次的图会不见

        exp()表示e的几次方

        三维图  x = linspace(-2,2,20); %20表示只20个点,没加就是一条线

                        y = x'; %因为要一个行向量,一个列向量
                        z = x .* exp(-x.^2 - y.^2);
                        surf(x,y,z)
        多个绘图 tiledlayout(2,2) 四个图
                   每次绘图前都打一遍nexttile表示进入下一图表

1.6编程和脚本

        创建实时脚本 edit xxxx.mlx

        调用时直接打脚本名

1.7循环和条件语句

        if  ifelse

        for n = 3:N  %3到n

          f(n) = f(n-1) + f(n-2);
        end

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

客服QQ 1913284695