matlab 使用笔记(不定期更新)

为什么使用matlab?

  • 有强大的函数库,数学计算非常方便
  • 图形化较为优雅

如何学习使用matlab

结合自带的手册和Google。手册中有例子和详细的说明。Google能帮你找到最合适的函数。以下将记录常用的方法。

March 29, 2017

多重积分

主要使用int函数。可以计算不定积分和定积分。注意:int的结果可能会分段给出(如没有原函数),因此计算多重积分嵌套int时,要检测被嵌套的积分的分段变量是否是下一重积分的积分变量
例子:

    syms t11 t12 t21 t22;
    f0 = 1/((t21-t11)*(t22-t12))^11;
    f1 = int(f0,t11,theta1(1,1),theta1(2,1));
    f2 = int(f1,t21,theta2(1,1),theta2(2,1));  %f1的积分结果按照t21的取值范围分段,因此下一步先对t21积分
    f3 = int(f2,t12,theta1(1,2),theta1(2,2));
    f4 = int(f3,t22,theta2(1,2),theta2(2,2));
    p = vpa(f4,50);

画三维曲面

meshgrid+surf. meshgrid生成数据矩阵,surf画图。也可不用meshgrid,两种方法的例子如下:

    % meshgrid+surf
    x = 0:0.5:12;
    y = 0:0.5:12;
    [X Y] = meshgrid(x,y);  % X,Y 为矩阵,长什么样可以打出来看看
    F = 1./(X.*Y).^i;  % 第三维度的矩阵
    surf(X,Y,F),xlabel('x1'),ylabel('x2'),pause

    % 自己创建数据矩阵,画图
    x = -6:1:6;
    y = -6:1:6;
    z = zeros(length(x),length(y));
    for i=1:length(x)
        for j=1:length(y)
            z(i,j) = pxD([x(i) y(j)], theta1, theta2);
        end
    end
    surf(x,y,z'),xlabel('x'),ylabel('y')  %传入的是向量x、y,以及数据矩阵z的转置

注意第二种方法中,为保证坐标一致,需对数据矩阵转置

矩阵生成

    原文作者:aurora6102
    原文地址: https://www.jianshu.com/p/baf81e23d545
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞