学习数学建模DayTwo

(1) 矩阵以[]形式输入。没有设置返回值默认返回ans。复数就是实部加虚部即可,如sd=5+6i。real(sa) 返回复数sa的实部,imag(sa) 返回复数sa的虚部,abs(sa)返回复数sa的模(sqrt(a2+b2))。复数z=a+bi的相位,是指向量(a,b)与实轴的夹角,夹角α=arctan(b/a),其主值在(0,2π)之间。其的模是指向量(a,b)的长度,记作∣z∣,即∣z∣=√(a2+b2),angle(sa) 以弧度为单位计算复数sa的相位角。复数矩阵可以直接以复数作为元素直接构建矩阵,也可以用实部矩阵-虚部矩阵i 得到(实数矩阵i即将每一个元素乘以i作为虚部,实部默认为零)。

(2) 矩阵相减:对应元素相减。不带分号显示结果的性质。在matlab命令行按下Enter可直接执行命令,按Shift+Enter快捷键 则暂不执行此命令并且进入下一行输入,等到按Enter时会一起但按顺序执行(并且在这种情况中的命令可以返回修改,以最终修改结果为准)。特别的对于for循环在循环写完(写end之前),按回车循环同样不会执行。可以动态设置矩形元素值。如设 x=1:10,构建矩阵A=[ x ; log10(x) ]。

(3) 字符串也可作为元素构造为矩阵。字符串以单引号或者双引号括起来即可。clc清屏。当输入一定数量的名称后按下tab键,即可提示显示现有的变量名或者方法名。使用help,如help 关键字名,可查看与关键字有关的信息。使用lookfor 函数名,可进行函数的查找。

(4) 单个标量的输入直接a=x即可。创建向量可以使用冒号。创建矩阵可以用[]输入,以;作为换行,以,作为同行元素分割。矩阵建议以,分割元素,因为空格分割元素在元素带有正负号时,如果元素的空格没有写在元素之前,比如元素之前有个空格然后才是正负号,则正负号两边的元素会进行运算。

(5) 使用ones(x) 函数可以创建(返回)所有元素都为1的矩阵,x表示创建的矩阵的行数和列数。eye(x) 函数可以创建(返回)行数和列数为x的单位矩阵(从左上角到右下角的对角线-即主对角线 上的元素皆为1,其他地方的元素皆为零)。rand(x,y)可创建x行y列的随机数矩阵(同理也有ones(x,y)和eye(x,y))。

(6) 使用分号[A;B]可以合并A矩阵和B矩阵(对维度有要求)。使用单下标也可也访问元素,如A为两行两列的矩阵,则A(3)==A(1,2)。使用冒号可以访问一行或一列元素,同理可使用冒号设置或修改一行或一列。使用A(x:y,:)=[] 即可删除矩阵A的第x到第y行,同理也可进行删除矩阵的任意行或者任意列。使用 size(A) 函数即可得到矩阵A的维度(行数和列数),可用矩阵[x,y]接受size函数返回值,得到矩阵的行数和列数。numel(A) 可得到矩阵A中的元素个数。可用A(:)表示A中所有元素。矩阵相乘:A*B 矩阵点乘:A.*B 矩阵左除:A\B 矩阵点左除:A.\B 矩阵右除:A/B 矩阵右点除:A./B。 矩阵扩展:当矩阵为x行y列时,设置矩阵第m行第n列的元素,并且(m>x&&y>n)则矩阵会扩展为m行n列,如若要扩展一列或一行可设置A(:,n)的值时矩阵得以扩展(设置值时可以是简单的等于一个常数,也可也是给整个列赋值为ones(1,n-y),或者使用rand(1,n-y)来 生成矩阵 然后扩展 )。

(7) 矩阵的删除只需要将要删除的行或者列赋值为空矩阵( 即 " [ ] " )即可。rot90(A) 函数可将矩阵A逆时针翻转90度,rot(A,x) 函数可将矩阵A逆时针翻转90*x度。fliplr(A) 将矩阵A左右翻转(按照主对角线为轴进行对称,轴上元素位置不变)。flipud(A)将矩阵A上下翻转。

(8) 求A的对角矩阵:B=diag(A)。求A的第一条对角线以上的元素(其余都为零):triu(A,1)。求A的第二条对角线以上的元素(其余都为零):triu(A,2)。

(9) 矩阵直接表示矩阵的所有元素,即A就表示A中所有元素。若加上逻辑表达式,就是筛选出符合条件的元素,如 A>3 返回的就是A中所有满足这个条件的元素构成的矩阵。以此可以来修改矩阵,比如把所有小于50的元素设置为零:A(A<50)=0;

(10) 使用 full(B) 即可还原稀疏矩阵B所对应的原矩阵 A。注意matlab中函数参数仅表示传递值,一般不会修改外界的数据,所以若要把B还原为原来的样子,应该是 B=full(B)。用load命令将数据的文本文件载入工作台,示例:load dr.dat。dr为数据文件名,可直接使用dr作为矩阵等数据。

(11) spy(A) :图像展示A矩阵的非零元素分布

(12) 矩阵可以是三维,创建三维矩阵可以使用元素赋值创建发,示例:A(x,y,z)=m 就创建了一个x行y列z条轴的三维矩阵。(但是展示都是二维展示,有多x,y之后z1z2z3*z4…个二维展示)。如ones() eye() zero() magic()都是创建二维矩阵,所以赋值时只能单独赋值给某个二维页(即如 A( : , : , z1,z2…zn)=ones() )。使用repmat函数也可构建多维数组,示例: repmat( [1,2;3,4;5,6;],[1,2,3] ) 其中[1,2,3]表示在利用原矩阵添加一个维度,并且有1 2 3 不同的维度情况。

(13) ones等函数创建多维矩阵也一样使用ones(x,y,m,n)即可。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

仰望—星空

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

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

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

打赏作者

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

抵扣说明:

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

余额充值