美文网首页程序员
Matlab 实用笔记(纯干货)

Matlab 实用笔记(纯干货)

作者: Wh_Fanatic | 来源:发表于2016-11-20 22:45 被阅读0次

    1. 普通


    t1 : t2 : t3;
    从t1到t3,间隔取t2

    linspace(始,终,元素个数);

    = [];
    用 [] 赋值,删除元素

    x = 12345;
    s = num2str(x);
    数字转字符串

    ceil(x);
    向上取整

    floor(x);
    向下取整

    round(x);
    四舍五入取整

    rand(l,m,n);
    生成l*m*n矩阵,矩阵元素为0-1之间的随机数

    A’
    矩阵A共轭转置
    A.’
    矩阵A转置
    conj(A)
    矩阵A共轭

    2. 矩阵


    length(A) = max(size(A));

    A(end,:);
    矩阵A最后一行

    A(:,end-1);
    矩阵A倒数第二列

    eye(n);
    生成n阶单位阵

    prod(A);
    矩阵A各列连乘

    min(A);
    取矩阵A各列最小值

    [x,I] = min(A);
    取矩阵A各列最小值及其下标

    max(A,[],dim);
    当dim为2时,返回矩阵A每行最大值

    C = max(A,B);
    返回A,B矩阵同位置较大值组成的矩阵(A,B须为同型矩阵)

    C = max(A,n);
    返回A的同型矩阵,各位置取A和n中较大的值(n为数字)

    mean(A);
    取每列平均值

    mean(A,dim);
    当dim为2时,取矩阵A每行平均值

    median(A);
    每列中位数

    median(A,dim);
    当dim为2时,取矩阵A每行中位数

    all(A);
    返回矩阵A每列所有元素相与后所得的行向量

    any(A);
    返回矩阵A每列所有元素相或之后所得的行向量

    find(A > 5);
    返回由矩阵A中所有大于5的元素的一维下标所组成的列向量

    [x,y] = find(A > 5);
    返回由矩阵A中所有大于5的元素的二维下标所组成的列向量

    sort(A);
    返回矩阵A每列升序排序的结果

    sort(A, 2, ’descend’);
    返回矩阵A每行降序排序的结果

    flipud(A);
    将矩阵A上下反向

    fliplr(A);
    将矩阵A左右反向

    reshape(A,m,n);
    将矩阵A的size变为m行n列。改变的宗旨是按照绝对下标。
    绝对下标的排布永远是以列优先。

    3. 多项式


    interp1(x,y,x1,’method’);
    一维插值,x,y为已知点的横纵坐标向量,x1为所求点的横坐标向量。’method’为插值方法,有’linear’, ’nearest’, ’spline’等

    interp2(r,s,t,x,y,’method’);
    二维插值,r,s为已知点横纵坐标矩阵,t为已知点的值,x,y为待求点坐标矩阵

    [P,S] = polyfit(x,y,m);
    多项式拟合,x,y为已知点坐标列表,m为拟合阶数;返回P为系数列表,S为采样点误差

    y = polyval(P,x);
    多项式求值,P为系数列表,x为自变量数值列表

    P3 = conv(P1,P2);
    多项式相乘

    P_dev = polyder(P);
    多项式求导

    [P_dev,Q_dev] = polyder(P,Q);
    多项式(P/Q)求导

    x = roots(P);
    求多项式零点


    4. 输入输出


    A = input(‘输入提示’);
    用户输入矩阵赋值给变量A

    s = input(‘输入提示’, ’s’);
    用户输入字符串并赋给变量s

    disp(x);
    输出显示(不显示变量名)


    5. 符号变量


    syms a b c d;
    定义符号变量

    syms x;
    f = 1/(2*x);
    定义符号表达式

    factor(f);
    分解因式,f为符号表达式

    simplify(f);
    化简

    limit(f,x,a);
    求极限f(x->a),f为符号表达式,x,a为符号变量

    diff(f,x,n);
    对f求x的n阶导,f为符号表达式,x为符号变量,n为数字

    int(f,x);
    求f对x的不定积分,f为符号表达式,x为符号变量

    int(f,x,x1,x2);
    求f对x的定积分

    syms x;
    sovle(x^4+1 = x^2 +1);
    解单变量方程

    syms x y;
    sovle(x*y+2 = y, y);
    解关于y的方程

    syms x y;
    solve(x^2+y^2 = 1, x+y = 1);
    方程联立求解

    F = fourier(f,x);
    求傅里叶变换,f为符号表达式,x为符号变量,f是关于x的函数,返回的是变换后的符号表达式

    f = ifourier(F,x);
    求傅里叶逆变换

    F = laplace(f,x);
    求拉普拉斯变换

    f = ilaplace(F,x);
    求拉普拉斯逆变换

    symsum(a,x,x0,n);
    级数求和;a为符号表达式,x为符号变量,x0,n为数字;a为关于x的表达式,x为自变量,x0为自变量初值,n为所求级数数量,无穷则为“inf”

    taylor(f,x,x0,’order’,n);
    将函数f(x)在x=x0处进行n阶泰勒展开,f为符号表达式,x为符号变量,x0,n为数字,’order’为固定字符串,表示阶数

    f = poly2sym(P);
    由多项式系数向量产生符号表达式


    6. 图像操作


    grid on
    加网格线
    grid off
    去网格线

    hold on
    保持当前figure

    plot(x,y,’CLM’);
    设置,C为颜色,L为线型,M为数据点形状

    plot(X,Y,'LineWidth',2,'Color',[.6 0 0])
    设置线宽、颜色

    axis([xmin,xmax,ymin,ymax]);
    限定图像轴长

    axis square;
    将图像坐标范围限定为正方形

    set(gca,’ytick’,[x1,x2,x3]);
    gca表示指向当前句柄,’ytick’表示在坐标轴上显示设定的坐标值

    subplot(m,n,i); plot(x,y);
    一张图里有m行n列个子图,在第i个子图中plot

    title(‘标题’);
    给当前图像加标题

    title(‘\fontsize{18} 标题’);
    给当前图像加标题并设置标题字体大小
    一般标题18号,x轴y轴16号,图例12号

    xlable(‘x轴名称’);  ylable(‘y轴名称’);
    给坐标轴命名

    legend(‘图线1’, ‘图线2’, ‘图线3’);
    加图例

    text(x,y,’文字’);
    在图像上x,y坐标处加文字

    gtext(‘文字’);
    在图像上加文字,位置由鼠标点击

    repmat(A,m,n);
    重复矩阵A,m行n列

    plot3(x,y,z);
    画三维曲线

    mesh(x,y,z);
    surf(x,y,z);
    画三维曲面,x,y为二维矩阵,z为x,y的函数,也是二维矩阵。mesh只有格线,surf能填充颜色

    meshc(x,y,z);
    画等高线图

    x = [-3:3]; y = [1:5]; [x,y] = meshgrid(x,y);
    生成画曲面所需的自变量二维矩阵

    polar(theta,r);
    画极坐标图

    Hf = figure;
    建立一个图形窗口,返回它的句柄值

    figure(Hf);
    激活句柄Hf

    Hf = gcf;
    获取当前图像句柄(get current figure)

    Ha = gca;
    获取当前坐标系句柄(get current axis)

    Hx = gco;
    获取当前对象句柄(get current object)

    saveas(Hf,’title.jpg’);
    保存图像并指定图像后缀名

    fill(X,Y,C);
    为平面图像填充颜色;
    X、Y、C均为行向量;
    X包含了一个封闭图形(一小格)各顶点的横坐标;
    Y包含了一个封闭图形(一小格)各顶点的纵坐标;
    C包含三个元素,分别为R、G、B值,大小均在0~1之间;
    每次只能填充一小格,需要用循环对整体进行填充;
    使用fill之前记得把原图hold on住。

    相关文章

      网友评论

        本文标题:Matlab 实用笔记(纯干货)

        本文链接:https://www.haomeiwen.com/subject/bmiypttx.html