MATLAB笔记——数组运算多项式运算

数组及其运算

在这里插入图片描述

>> a=[1:3;4:6;7:9];
x=5;
y=ones(3)*5;
xa=x<=a

xa =

     0     0     0
     0     1     1
     1     1     1

在这里插入图片描述

>> a=magic(5)

a =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

>> a(:,3)=zeros(5, 1)

a =

    17    24     0     8    15
    23     5     0    14    16
     4     6     0    20    22
    10    12     0    21     3
    11    18     0     2     9

向量生成

当向量的元素过多,同时向量各元素有等差的规律,此时采用直接输入法将过于繁琐。针对该种情况 ,可以使用冒号(😃 和linspace函数来生成等差元素向量。

>> v=10:5:60

v =

    10    15    20    25    30    35    40    45    50    55    60

>> v2=linspace(10, 60, 11)

v2 =

    10    15    20    25    30    35    40    45    50    55    60

all 和 any

>> a1=all(a(:, 1)<10)

a1 =

     0

>> a1=all(a(:,1)>3)

a1 =

     1
>> all = any(a(:, 1)>10)

all =

     1

>> all = any(a>10)

all =

     1     1     0     1     1

find函数

>> a=[1:5];
>> a=1./a

a =

    1.0000    0.5000    0.3333    0.2500    0.2000
>> f1 = find(a)

f1 =

     1     2     3     4     5

>> f2 = find(abs(a)>0.4|abs(a)<0.23)

f2 =

     1     2     5

数组运算和多项式运算

生成多项式

>> p=[1 -5 6 -33]

p =

     1    -5     6   -33

>> poly2sym(p)
 
ans =
 
x^3 - 5*x^2 + 6*x - 33

特征多项式输入法

MATLAB提供了poly函数,使用它可以由矩阵的特征多项式创建多项式。使用该方法生成多项式时,其首项的系数必为1

>> A=[3 1 4 1;5 9 2 6; 5 3 5 8;9 7 9 3]

A =

     3     1     4     1
     5     9     2     6
     5     3     5     8
     9     7     9     3

>> p=poly(A);
>> disp(poly2sym(p))
x^4 - 20*x^3 - 16*x^2 + 480*x + 98

多项式运算

获取多项式参数

>> a=[1 2 3; 2 3 4; 3 4 5]

a =

     1     2     3
     2     3     4
     3     4     5

>> p1=poly(a)

p1 =

    1.0000   -9.0000   -6.0000   -0.0000

按照参数生成多项式

>> poly2sym(p1)
 
ans =
 
x^3 - 9*x^2 - 6*x - 8399472656541061/2535301200456458802993406410752
 

由根创建多项式

>> root=[-5 -3+4i -3-4i];
>> p=poly(root)

p =

     1    11    55   125

>> poly2sym(p)
 
ans =
 
x^3 + 11*x^2 + 55*x + 125
 

多项式求值

MATLAB提供了两个函数来对多项式进行求值,即polyval和polyvalm。前者以数组为计算单位,后者以矩阵为计算单位。

>> p=[1 -20 -16 480 98];
>> x=4;
>> polyval(p, x)

ans =

   738

在MATLAB 语言里,多项式由一个行向量表示,设为p,它的系数按降序排列,使用roots函数可以求出该多项式的根。其使用格式为roots§。

>> p=[1 0 3 12 -7];
>> roots(p)

ans =

   0.7876 + 2.4351i
   0.7876 - 2.4351i
  -2.0872 + 0.0000i
   0.5121 + 0.0000i

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

艾醒(AiXing-w)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值