精华内容
下载资源
问答
  • 界面极其粗制滥造,“用”表示使用这个参数,不选则该常数为0,“负”表示设置该项为负数(滚动条是对数),焦点在某滚动条上时按1-9精确调至整数,加按shift则倒数,单击黑不拉几大块就画图。。 还是费...
  • 1.给参数赋值,再解六元一次方程组,分别画出ratio与其中两个解C11、C12图像,以及表达式g2=2*C12^2/C11^4图像。![图片说明](https://img-ask.csdn.net/upload/202007/03/1593789156_757158.png) ``` clc...
  • 你还可以自己编写外围的函数取间接存取数据库。通过这样途径当你更换使用数据库时,可以轻松更改编码以适应这样变化。PHPLIB就是最常用可以提供一般事务需要的一系列基库。 - 可扩展性 就像前面说那样...
  • matlab常用代码程序

    千次阅读 2020-04-23 14:14:45
    矩阵平方plot画图subplot函数plot3常用画图三联求解二元二方程添加噪声矩阵平方和元素平方矩阵行列计数函数求导求导带入数值 计算函数实例if语句for语句注意细节atan和atan2区别 矩阵取一部分 MATLAB对...

    矩阵取一部分

    MATLAB对矩阵的操作十分灵活,下面对最近遇到的进行总结:

    说明 ':'代表取全部,‘,’代表分界符,‘,’前面代表行,后面代表列。如果‘,’前面为‘:’则行取全部,如果‘,’后面为':',则列取全部。

    格式A(m,n),用于提取矩阵A中符合m,n要求的部分
    提取某个元素,则m,n为数字标量,如A(2,3)为第二行第三列的元素。
    

    简单的

    1.提取大矩阵的一列、一行元素:
    一列元素:  A(:,j)表示提取A矩阵的第j列全部元素
    一行元素:  A(i,:)表示提取A矩阵的第i行元素,
    于是我们有,A(i, j)表示提取A矩阵的第i行第j列的元素。
    
    2.提取多行多列元素
    多行元素:  A(i:i+m,:)表示提取A的第i行到第i+m行的元素。
    多列元素:  A(:,j:j+n)表示提取A的第j列到第j+n列的元素。
    提取块:     A(i:i+m, j:j+n)表示的是mxn的一个子块的元素。
    

    1、提取某行某列

      A(:,n)提取第n列的所有元素,如A(:,3)提取第三列的所有元素;
    
      A(m,:)提取第m行的所有元素,如A(3,:)提取第三行的所有元素;
    

    2、提取任意的某部分并重新组成新的矩阵,连续或不连续,单调或不单调

     数字指定:A([1 2 3 4],[2 3]) 返回1 2 3 4行2 3 列的数据;
    
     步长指定:A(1:2:end,:) A(2:2:end,:)分别提取矩阵A的奇数行和偶数行数据;
    
                     A(end:-1:1,:) A(:,end:-1:1)分别返回A矩阵行倒序和列倒序的矩阵
    
     变量指定:A(B(:,1),:),其中B的第一列含有数据,用来指定取矩阵A的哪些行。
    

    矩阵乘法 除法 点乘 点除

    *.*的联系和区别。

    1,在进行数值运行和数值乘矩阵,这两种没有区别,例如:a*b=a.*b; a*B=a.*B; B*a=B.*a(其中小写字母表示数值,大写字母表示矩阵,下同)。
      2,在处理矩阵乘矩阵时,*表示普通的矩阵乘法,要求前面矩阵的列数等于后面矩阵的行数;.*表示两个矩阵对应元素相乘,要求两个矩阵行数列数都相等。例如:

    >> [1,2,3]*[1,2;3,4;5,6]       % 矩阵乘法
    >> ans =
    >>     22    28
    
    >> [1,2,3].*[4,5,6]            % 矩阵点乘
    >> ans =
    >>      4    10    18
    

    /./的联系和区别。

    1,数值运行时,这两种没有区别,例如:a/b=a./b
      2,数值与矩阵运行时,要分数值在前还是在后。
        (1),数值在前,只能用./
        (2),数值在后,这两种一样:A/b=A./b
      3,矩阵除矩阵,A/B可粗略地看作A*inv(B)(强烈不建议进行求逆运算);A./B表示A矩阵与B矩阵对应元素相除,所以要求A,B行数列数相等。例如:

    >> [4,5]/[1,2;3,4]                    % 矩阵除法
    >> ans =
    >>    -0.5000    1.5000
    
    >> [4,5,6]./[1,2,3]                   % 矩阵点除
    >> ans =
    >>     4.0000    2.5000    2.0000
    

    矩阵的平方

    t^2是矩阵平方,即t×tt.^2是矩阵中每个元素的平方。PS: 若t不是方阵,则t^2会出错

    plot画图

    plot函数的基本调用格式为:

    1. plot(y)
      y为一向量时,以y元素的值为纵坐标,y的元素序号为横坐标值,用直线依次连接数据点,绘制曲线。当y为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线, 当y为m×n矩阵时,就由n条曲线。

    2. plot(x,y)
      yx为同维向量,则以x为横坐标,y为纵坐标绘制连线图。若x是向量,y是行数或列数与x长度相等的矩阵,则绘制多条不同色彩的连线图,x被作为这些曲线的共同横坐标。若xy为同型矩阵,则以x,y对应元素分别绘制曲线,曲线条数等于矩阵列数。

    3. plot(x1,y1,x2,y2,……)
      在此格式中,每对x,y必须符合plot(x,y)中的要求,不同对之间没有影响,命令将对每一对x,y绘制曲线。
      以上三种格式中的x,y都可以是表达式。plot是绘制一维曲线的基本函数,但在使用此函数之前,须先定义曲线上每一点的x以及y坐标。

    例2 生成的图形是上30个点连成的光滑的正弦曲线。

    x=linspace(0,2*pi,30); % 生成一组线性等距的数值 其中x1、x2、N分别为起始值、终止值、元素个数。若默认N,默认点数为100。
    y=sin(x);
    plot(x,y)
    

    注释:

    linspace(x1,x2,N)
    功能:linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若默认N,默认点数为100。
    

    运行结果:

    在这里插入图片描述

    在这里插入图片描述

    MATLAB中提供的线型属性

    在这里插入图片描述

        需要说明的是,LineSpec中设置曲线线型、标识符和颜色三项属性时,控制符的顺序不受限制并可以省略或者部分省略。也就是说'r-.*'、'-.r*'、'*-.r'等形式是等效的,都表示使用红色点划线连接各个节点,各节点使用“*”标识。
    

    subplot函数

    subplot是将多个图画到一个平面上的工具。Subplot(m, n, p)其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果第一个数字是2就是表示2行图。p是指你现在要把曲线画到figure中哪个图上,最后一个如果是1表示是从左到右第一个位置。

    plot3

    t=[0:0.2:10*pi];
    x=2*t;
    y=sin(t);
    z=cos(t);
    plot3(x,y,z,'bo');
    hold on
    plot3(x,y,z,'r-','LineWidth',2);
    

    常用画图三联

    % 三维坐标
    figure;
    plot3(measure_Z(1,1:length(t_1)),measure_Z(2,1:length(t_1)),measure_Z(3,1:length(t_1)),'r-','LineWidth',1);
    hold on;
    plot3(measure_Z(1,length(t_1):end),measure_Z(2,length(t_1):end),measure_Z(3,length(t_1):end),'r-','LineWidth',1);
    hold on;
    plot3(ENU_X,ENU_Y,ENU_Z,'g-','LineWidth',1);
    hold on;
    plot3(noise_ENU_X,noise_ENU_Y,noise_ENU_Z,'b-','LineWidth',1);
    xlabel('x运动距离 m');
    ylabel('y运动距离 m');
    zlabel('z运动距离 m');
    title('东北天坐标系')
    legend('origin CV','origin CA','estimate','noise')
    
    
    % 三个轴的每一个坐标
    figure;
    plot(measure_Z(1,:),'r-','LineWidth',1);
    hold on;
    plot(noise_ENU_X,'b-','LineWidth',1);
    hold on;
    plot(ENU_X,'g','LineWidth',1);
    grid;
    set(gca,'xtick',[0:50:length(D)],'xticklabel',[0:50:length(D)]*T);
    xlabel('时间/s');
    ylabel('运动距离 m');
    title('X轴东北天坐标系')
    legend('origin ',' noise ','estimate')
    
    figure;
    plot(measure_Z(2,:),'r-','LineWidth',1);
    hold on;
    plot(noise_ENU_Y,'b-','LineWidth',1);
    hold on;
    plot(ENU_Y,'g','LineWidth',1);
    grid;
    set(gca,'xtick',[0:50:length(D)],'xticklabel',[0:50:length(D)]*T);
    xlabel('时间/s');
    ylabel('运动距离 m');
    title('Y轴东北天坐标系')
    legend('origin ',' noise ','estimate')
    
    
    figure;
    plot(measure_Z(3,:),'r-','LineWidth',1);
    hold on;
    plot(noise_ENU_Z,'b-','LineWidth',1);
    hold on;
    plot(ENU_Z,'g','LineWidth',1);
    grid;
    set(gca,'xtick',[0:50:length(D)],'xticklabel',[0:50:length(D)]*T);
    xlabel('时间/s');
    ylabel('运动距离 m');
    title('Z轴东北天坐标系')
    legend('origin ',' noise ','estimate')
    --------------------------------------------
     figure;
     subplot(3,1,1)
     plot(estimate_error_X,'g-','LineWidth',1);
     hold on;
     plot(noise_error_X,'b-','LineWidth',1);
     set(gca,'xtick',[0:50:length(D)],'xticklabel',[0:50:length(D)]*T); %xtick就是你要版在哪些地方显示刻度,权xticklabel就是显示什么
     legend('estimate error','noise error');
     xlabel('时间/s');
     ylabel('距离 m');
     title('瞄准线坐标系X轴位置误差')
     grid;
     subplot(3,1,2)
     plot(estimate_error_Y,'g-','LineWidth',2);
     hold on;
     plot(noise_error_Y,'b-','LineWidth',1);
     set(gca,'xtick',[0:50:length(D)],'xticklabel',[0:50:length(D)]*T);
     legend('estimate error','noise error');
     xlabel('时间/s');
     ylabel('距离 m');
     title('瞄准线坐标系Y轴位置误差')
     grid;
     subplot(3,1,3)
     plot(estimate_error_Z,'g-','LineWidth',1);
     hold on;
     plot(noise_error_Z,'b-','LineWidth',1);
     set(gca,'xtick',[0:50:length(D)],'xticklabel',[0:50:length(D)]*T);
     legend('estimate error','noise error');
     xlabel('时间/s');
     ylabel('距离 m');
     title('瞄准线坐标系Z轴位置误差')
     grid;
    

    求解二元二次方程

    D=10000;%初始距离
    theta=pi/6;%角度30°
    
    %求出初始位置 x_0 ,y_0
    syms x y;
    eq1=x^2+y^2==D*D;%观测距离方程
    eq2=tan(theta)*x+route_shortcut/cos(theta)==y;%直线方程
    [X,Y]=solve(eq1,eq2,x,y);%会得出来两个值,我们取大于0的
    x_0=double(X(1))
    y_0=double(Y(1))
    

    添加噪声

    1. rand生成均匀分布的伪随机数。分布在(0~1)之间
      rand(m,n)生成m行n列的均匀分布的伪随机数
    2. randn生成标准正态分布的伪随机数(均值为0,方差为1)
    y=2+3*randn(2,2)%产生一个均值为2,标准差为3的正态分布,方差为9
    ---------------------------
    t=0:0.001:1;
    y1=(pi/2)*cos(2*pi*t)+(pi/64)*cos(pi*t/8+pi/3);
    
    temp=y1+0.02*rand(size(y1));
    
    plot(t,y1,t,temp,'r')
    

    矩阵的平方和元素的平方

    设t = [2 4;  
       	4 2]
    >> t.^2  %t.^2是矩阵中每个元素的平方
       ans = 
       4 16
       4 16
    而
    >> t^2   %t^2是矩阵平方
      ans =
       12 24
       12 24 
       
    

    可见t^2 是矩阵平方,t.^2是矩阵中每个元素的平方。
       PS: 若t不是方阵,则t^2会出错

    矩阵行列计数

    (1)size,获取数组的行数和列数
    (2)length,数组长度,即行数和列数中的较大值,相当于max(size(a))
    (3)numel,返回元素总数

    函数求导

    求导

    参考 这篇文章 MATLAB 函数求导 用法以及实例

    diff(函数) , 求的一阶导数;
    diff(函数, n) , 求的n阶导数(n是具体整数);
    diff(函数,变量名), 求对的偏导数;
    diff(函数, 变量名,n) ,求对的n阶偏导数;
    

    带入数值 计算函数

    参考这篇文章 Matlab subs函数的用法

    R = subs(S, new) 利用new的值代替符号表达式S中的默认符号;
    R = subs(S) 用由调用函数或Matlab工作空间中获取的值替代了在符号表达式S中的所有当前的变量;
    R = subs(S, old, new) 利用new的值代替符号表达式中old的值。old为符号变量或是字符串变量名。
    

    实例

    %D求导 diff_D
    syms t;
    f(t)=sqrt((x_0-v_0*cos(theta)*t)^2+(y_0-v_0*sin(theta)*t)^2 +z_0^2 );%D的表达式
    diff_f=diff(f(t));%D的倒数表达式
    % pretty(diff_f)%将当前变量显示为我们常用的书面形式
    diff_d_1=subs(diff_f,t,[0:T:15]);%计算出每个时刻的倒数具体值,类型为sym
    diff_D_1=double(diff_d_1);%转换类型sym为double
    

    if语句

    if后面并不需要":"直接和对应的end符号即可,这一点和python的不同。pythonif后面加一个":",然后if下面缩进,没有与之对应的end

    if expression
        statements
    end
    
    -----------------------------------
    if expression1
        statements1
    elseif expression2
        statements2
    else
        statements3
    end
    -----------------------------
    x = input('请输入 x=');
    if x ~= 0
        y = sin(x)/x;
    else
        y = 1;
    end
    y
    

    预算符关系

    <    小于
    <=  小于或等于
    >        大于
    >=      大于或等于
    ==      等于
    ~=      不等于
    
    

    for语句

    for后面也不需要":"直接和对应的end符号即可

    for index = values
       <program statements>
                ...
    end
    
    -----------------------------------
    for a = 10:20 
       fprintf('value of a: %d\n', a);
    end
    
    value of a: 10
    value of a: 11
    value of a: 12
    value of a: 13
    value of a: 14
    value of a: 15
    value of a: 16
    value of a: 17
    value of a: 18
    value of a: 19
    value of a: 20/
    
    -----------------------------------
    for a = 1.0: -0.1: 0.0
       disp(a)
    end
    
     1
     0.90000
     0.80000
     0.70000
     0.60000
     0.50000
     0.40000
     0.30000
     0.20000
     0.10000
     0
     -----------------------------------
    for a = [24,18,17,23,28]
       disp(a)
    end
    
    24
    18
    17
    23
    28
    
    

    注意细节

    atan和atan2的区别

    举个例子,a = 1, b = -1,则atan(a/b) = atan(-1) = -pi/4, 而 atan2(a,b) = 3*pi/4

    atan2(a,b)是4象限反正切,它的取值不仅取决于正切值a/b,还取决于点 (b, a) 落入哪个象限
      当点(b, a) 落入第一象限时,atan2(a,b)的范围是  0 ~ pi/2;
     当点(b, a) 落入第二象限时,atan2(a,b)的范围是  pi/2 ~ pi;
      当点(b, a) 落入第三象限时,atan2(a,b)的范围是  -pi/2~0;
     当点(b, a) 落入第四象限时,atan2(a,b)的范围是 -pi~-pi/2
    
    
    而 atan(a/b) 仅仅根据正切值为a/b求出对应的角度 (可以看作仅仅是2象限反正切)
       当 a/b > 0 时,atan(a/b)取值范围是 0 ~ pi/2;
       当 a/b < 0 时,atan(a/b)取值范围是 -pi/2~0
    
    
    展开全文
  • 在沿线路径每个xk处,进行下列检测: 如果dk,下个要绘制的点是(xk+1,yk),并且 dk+1 = dk+2dy 否则,下个要绘制的点是(xk+1,yk+1),并且 dk+1 = dk +2dy –2dx 5、重复步骤4,共dx。 利用此原理,...
  • GSP5.exe

    2020-04-01 09:16:40
    《几何画板》中“循环”概念与数学里极限是非常类似,而且它完全可以用来演示数学里极限问题,比如记录得出三角形里三角形,再选定小三角形,再用一次记录…… 简言之,《几何画板》循环就是“图画”中...
  • PT80-NEAT开发指南v1.1

    2014-06-24 18:38:34
    章 关于本手册........................................................................................................................................ 1 简介 ..........................................
  • 【文本转EXCEL】 将文本文件按指定分隔符号分隔一次性导入到EXCEL文档中。提供两种导入方式。 【EXCEL转文本】 将当前工作表中存储格内容按指定分隔符号导出为TEXT文本,此为银行代发工资数据与邮局或银行传递...
  • 【文本转EXCEL】 将文本文件按指定分隔符号分隔一次性导入到EXCEL文档中。提供两种导入方式。 【EXCEL转文本】 将当前工作表中存储格内容按指定分隔符号导出为TEXT文本,此为银行代发工资数据与邮局或银行传递...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    【文本转EXCEL】 将文本文件按指定分隔符号分隔一次性导入到EXCEL文档中。提供两种导入方式。 【EXCEL转文本】 将当前工作表中存储格内容按指定分隔符号导出为TEXT文本,此为银行代发工资数据与邮局或银行传递...
  • 【文本转EXCEL】 将文本文件按指定分隔符号分隔一次性导入到EXCEL文档中。提供两种导入方式。 【EXCEL转文本】 将当前工作表中存储格内容按指定分隔符号导出为TEXT文本,此为银行代发工资数据与邮局或银行传递...
  • 【工作表隐藏】 对当前工作薄中各工作表批量一次性进行隐藏与取消隐藏操作。 【新建工作表】 批量新建或者复制工作表,依指定存储格内容可以瞬间建立/复制1到255个。还可以在新建或复制时全自动命名。分为自动...
  • 正切 返回 e 指定幂 对数 数字 x y 幂 返回较大者 第3页 C#(WINFORM)学习 Math.Min(x,y) 返回较小者 枚举型 一般为字符串,可以定义带数字枚举型,示例为: enum Color { Red=1, Blue=2, Green=3 } ...
  • 访问扩展是个平台相关任务,而可用扩展决于计算机上安装图形硬件。一些库如GLEW和GLEE可以用来简化在应用程序中使用扩展。  扩展机制使得OpenGL以个合理成本运行。小规模改动就可以拥有最新硬件...
  • 实例128 统计某个字符在个字符串变量中出现次数 实例129 判断字符串中某字符是否大写 实例130 判断字符串是否为日期或时间 实例131 判断获得字符串中大写字符个数 实例132 巧截字符串数字 实例133 ...
  • 实例128 统计某个字符在个字符串变量中出现次数 实例129 判断字符串中某字符是否大写 实例130 判断字符串是否为日期或时间 实例131 判断获得字符串中大写字符个数 实例132 巧截字符串数字 实例133 ...
  • 构造函数 <code>Component</code> 中需要注意分别是 <code>refs</code> 和 <code>updater</code>,前者会在下文中专门介绍,后者是组件中相当重要的一个属性,我们可以发现 <code>setState...
  • 这个项目可指定让AGP装置来使用系统内存大小,这用大小是PCI内存地址范围的一部份,可分配给图形内存空间。 Init Display First: 这个项目可选择当系统开机时先行对AGP或是PCI插槽来做初始化动作。 [AGP...
  • 取点颜色.ec 取焦点窗口句柄.ec 取特定目录模块.ec 取特征字.ec 取用户机器码模块.ec 取 窗口内所有控件标题.ec 取窗口句柄-外挂海万能模块1.53.ec 取系统信息.ec 取系统信息v2.1.ec 取系统信 息v2[1].1.ec 取系统...
  • 1345个易语言模块

    2012-01-27 19:41:59
    取点颜色.ec 取焦点窗口句柄.ec 取特定目录模块.ec 取特征字.ec 取用户机器码模块.ec 取 窗口内所有控件标题.ec 取窗口句柄-外挂海万能模块1.53.ec 取系统信息.ec 取系统信息v2.1.ec 取系统信 息v2[1].1.ec 取系统...
  • 1350多个精品易语言模块提供下载

    热门讨论 2011-06-06 17:51:09
    取点颜色.ec 取焦点窗口句柄.ec 取特定目录模块.ec 取特征字.ec 取用户机器码模块.ec 取 窗口内所有控件标题.ec 取窗口句柄-外挂海万能模块1.53.ec 取系统信息.ec 取系统信息v2.1.ec 取系统信 息v2[1].1.ec 取系统...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    54 <br>0075 用回溯法找出n个自然数中r个数全排列 55 <br>0076 约瑟夫环问题 56 <br>0077 猴子选大王 57 <br>0078 如何判断IP是否正确 57 <br>0079 如何将小写金额转换为大写金额 57...

空空如也

空空如也

1 2
收藏数 22
精华内容 8
关键字:

一次函数画图的取点