zoukankan      html  css  js  c++  java
  • matlab问题集总

    每次更新一点,慢慢增加

    nargin

    nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用他来设定一些默认值,如下面的函数。 例子,函数test1的功能是输出a和b的和。如果只输入一个变量,则认为另一个变量为0,如果两个变量都没有输入,则默认两者均为0。

    function y = testNargin(a,b)
    if nargin==0
        a=0;b=0;
    elseif nargin==1
        b=0;
    end
    y=a+b;
    end

     相关:varargout、nargout、varargin

    subs 

    这里subs的替换换就是元素替换

    调用格式:

      R = subs(S)

      R = subs(S, new)

      R = subs(S, old, new)

    syms a b 
    y = a*b;
    
    a = 2; b=4;
    subs(y);
    
    subs(y,{a, b},{2, 4}); 
    
    subs(y,{a, b},{[1 2],[3,4]}); %表示矩阵对应元素相乘

    没有矩阵替换后执行矩阵运算你要进行矩阵运算可以这样写


    >> x=sym([0 1;-1 0]);
    >> y=sym([1 -1;-2 1]);
    >> x*y

    repmat

    repmat 即 Replicate Matrix ,复制和平铺矩阵

    语法:

    B = repmat(A,m,n)
    B = repmat(A,[m n])
    B = repmat(A,[m n p...])

    corrcoef

    A=corrcoef(X)后,A中每个值的所在行a和列b,反应的是原矩阵X中相应的第a个列向量和第b个列向量的相似程度(即相关系数);

    A=corrcoef(f,g),其中f,g是向量(都转化为列向量),输出A是一个二维矩阵(对角元恒为1),

    我们感兴趣的f和g的相关系数就存放在A(1,2)=A(2,1)上,其值在[-1,1]之间,1表示最大的正相关,-1表示绝对值最大的负相关。

    var

    表示方差 ,公式:sum((v - mean(v))^2) /(length(v) - 1),其中v表示向量,V表示矩阵

    语法:

    var(v) :表示向量的方差

    var(V):每个列向量的方差,结果为行向量

     cov

    是以列向量为单位,算出协方差是多少,公式:COV(X,Y)=E[(X-E(X))(Y-E(Y))]

    语法:

    cov(x)    cov(x, y)  cov(x, y, 1)

    norm

    1、如果A为矩阵
    n=norm(A)
    返回A的最大奇异值,即max(svd(A))
    n=norm(A,p)
    根据p的不同,返回不同的值
    p 返回值
    1 返回A中最大一列和,即max(sum(abs(A)))
    2 返回A的最大奇异值,和n=norm(A)用法一样
    inf 返回A中最大一行和,即max(sum(abs(A’)))
    ‘fro’ A和A‘的积的对角线和的平方根,即sqrt(sum(diag(A'*A)))
    2、如果A为向量
    norm(A,p)
    返回向量A的p范数。即返回 sum(abs(A).^p)^(1/p),对任意 1<p<+∞.
    norm(A)
    返回向量A的2范数,即等价于norm(A,2)。
    norm(A,inf)
    返回max(abs(A))
    norm(A,-inf)
    返回min(abs(A))

    isnan

    函数功能: 判断数组的元素是否是NaN。不是数,函数返值为1,否则为0。NaN是Not a Number的缩写。isnan常用来修正数组中出现非数字的情况。
    在matlab中,以下情况会出现NaN:
    任何关于NaN的数值运算, 如sqrt(NaN);加减法, 如(+Inf)+(-Inf);乘法, 如0乘以Inf;除法, 如0/0、Inf/Inf;Remainder,比如rem(x, y)其中y为0或x是Inf。
    读取execl中的数据,如果数据中有inf的。
    用xlsread读取数据后就会现在NAN。
    语法格式:
    TF = isnan(A)
    返回一个和A尺寸一样的数组, 如果A中某个元素是NaN, 则对应TF中元素是1, 否则TF中对应元素是0。
    相关:isfiniteinfnanisinf
  • 相关阅读:
    2020牛客暑期多校训练营(第三场)C-Operation Love(计算几何)
    洛谷 P3376 【模板】网络最大流
    2020牛客暑假多校训练营(第二场)F-Fake Maxpooling(单调队列)
    Codeforces Round #655 (Div. 2)【ABCD】(题解)
    Codeforces Round #648 (Div. 2)【ABCDEF】(题解)
    Codeforces Round #647 (Div. 2)
    Codeforces Round #646 (Div. 2)【ABCDE】(题解)
    Educational Codeforces Round 88 (Rated for Div. 2)【ABCDE】(题解)
    [蓝帽杯2020]一个利用data伪协议和include,file_get_contents写shell的web题
    [网鼎杯2020朱雀场] misc部分题解
  • 原文地址:https://www.cnblogs.com/ywl925/p/3314718.html
Copyright © 2011-2022 走看看