matlab函数笔记

牛顿迭代法

过初始点 x0,作曲线的切线,切线与 x 轴交点即一次近似值。
Excel 表示

%创建函数
function [x,n,Xn,Yn] = newtondiedai(fun,dfun,x0,EPS)
% fun为目标函数,dfun为目标函数的一阶导数,x0为起始点,EPS为精度
a=feval(fun,x0);
b=a+1;
n=0;
%建立画图的点
Xn = zeros(5,1);
Yn = zeros(5,1);
while(abs(a-b) >= EPS) 
        a = feval(fun,x0) ;
        df = feval(dfun,x0);
        Xn(n+1,1) = x0;
        Yn(n+1,1) = a;
        if (feval(dfun,x0) == 0)
            break
        else
            x0 = x0 - a/df;
        end
        b = feval(fun,x0);  
        n = n + 1;
end
x = x0;
%输入参数
fun=inline('x^2 - 9','x');
dfun = inline('2*x','x');
Xn = zeros(5,1);
Yn = zeros(5,1);
x0 = 4;
EPS = 0.001;
[x,n,Xn,Yn] = newtondiedai(fun,dfun,x0,EPS)

函数基础

I = [3 2 1; 5 5 5; 10 8 9]   
I([1 2],:) = [3 2 1;5 5 5] 
第一行:第一行的所有列  第二行:第二行的所有列

I([3,1],:) = I([1,3],:)  第一行和第三行互换

a*b 正常矩阵相乘 a.*b 对应元素相乘

  • Step(num,den) 求阶跃响应
  • impulse(num,den)求脉冲响应
  • Conv
  • Linspace
 x = linspace(0,10,5)  
 x =0    2.5000    5.0000    7.5000   10.0000
  • logspace(0,1,11) 生成100~101中 11 个等分的数
  • sparse 稀疏矩阵 返回非零元素位置 和数值
  • full 把稀疏矩阵补 0 成全矩阵
A = sparse([2 3],[4 5],[1 3])    A = sparse(1:3,1:3,1:3)
A =                              A=   (1,1)        1
   (2,4)        1                     (2,2)        2
   (3,5)        3                     (3,3)        3
  • meshgrid

x =[1 2]
y = [3 4 5]
[X,Y]=meshgrid(x,y)

   X =
   1     2
   1     2
   1     2
   Y =
   3     3
   4     4
   5     5

-isempty - 确定数组是否为空
-find - 查找非零元素的索引和值
-Fix 去掉小数(向 0 接近)
-floor 向下取整
-Ceil 向上取整
-Round 四舍五入

y = round(x,-4)  
x = 12358466243.325;    
y_correct = 12358470000.000;
  • Roots(n)求根 n 为多项式系数构成的矩阵[]
  • 将字符串中的数字分开成矩阵 x = ‘1100101’ a = abs(x)-48
  • str2num 将字符串转成数字
  • randi([m,n],[a,b]) 得一个值为a到b(都包括)的m*n大小的随机数矩阵
  • sum(n,a) n 为矩阵,a为 1时求各列和返回行,a 为 2 时求各行和返回列
  • 矩阵倒序y = x(end:-1:1) 或 y = sort(x,’descend’)
  • 矩阵中最大值 y = max(x,[] ,‘all’) 或者 max(max(x))
  • 判断奇偶 if mod(n,2) %ji数 else%ou数
  • C = unique(A):返回的是和A中一样的值,但是没有重复元素。产生的结果向量按升序排序。
  • any(A,1) 对 A 中列的连续元素进行处理并返回逻辑值行向量。
    any(A,2) 对 A 中行的连续元素进行处理并返回逻辑值列向量。
  • n=hist(Y): 默认十个等间隔区间,并返回每个范围内的Y的元素个数作为一行向量;
    [n,xout]=hist(Y,X):n是每一个区间的个数,xout是区间的中心位置,输入参数中X是一个事先给定的区间划分,统计Y在X这个区间划分下的个数。
A = randn(3,4)     % 创建34列随机矩阵
[r,c] = size(A)    % 读取行r、列c
for i = 1:r        % 建立for循环嵌套
    for k = 1:c
        A(i,k)     % 读取矩阵每个位置数据,先行后列
    end
end

Problem 769. Calculate the area of a triangle between three points

polyarea 返回向量 X 和 Y 中顶点所指定多边形的面积。

X=[1 0 0];
Y=[0 0 1];
polyarea(X,Y)

Problem 42876. Rotate Matrix @180 degree

rot90() 将矩阵翻转 90°

y = rot90(rot90(x))
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sink Arsenic

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值