matlab基础知识(二)

1.变量的使用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

>> x=sqrt(7)-2i

x =

   2.6458 - 2.0000i

>> y=exp(pi/2)%注意不能用^表示乘方

y =

    4.8105

>> z=(5+cosd(47))/(1+abs(x-y))

z =

    1.4395

>> %试错
>> y=exp^2
错误使用 exp
输入参数的数目不足。
 

在这里插入图片描述
在画图时,将要删掉的部分赋值给NaN即可去掉。i也有时用来作为循环变量,这时就不再是虚数单位了。
在这里插入图片描述
在这里插入图片描述

>> who

您的变量为:

a    ans  b    c    k    k1   p    x    y    z    

>> whose
未定义函数或变量 'whose'。
 
是不是想输入:
>> whos
  Name      Size            Bytes  Class      Attributes

  a         1x1                 8  double               
  ans       1x3                24  double               
  b         1x1                 8  double               
  c         1x3                24  double               
  k         1x10               10  logical              
  k1        1x4                32  double               
  p         1x4                32  double               
  x         1x1                16  double     complex   
  y         1x1                 8  double               
  z         1x1                 8  double               

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.矩阵
在这里插入图片描述

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

a =

     1     2     3
     4     5     6
     7     8     9

>> b=[-1,-2,-3;-4,-5,-6;-7,-8,-9]

b =

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

>> c=[-1,-2;-3,-4]

c =

    -1    -2
    -3    -4

>> d=[a,c]
错误使用 horzcat
要串联的数组的维度不一致。

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

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

a =

     1     2     3
     4     5     6
     7     8     9

>> b=[-1,-2,-3;-4,-5,-6;-7,-8,-9]

b =

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

>> c=[-1,-2;-3,-4]

c =

    -1    -2
    -3    -4

>> d=[a,c]
错误使用 horzcat
要串联的数组的维度不一致。
 
>> x=0:1:5

x =

     0     1     2     3     4     5

>> x=1.2:1:3

x =

    1.2000    2.2000

>> x=linspace(1.2,3,2)

x =

    1.2000    3.0000

>> x=linspace(1.2,3,5)

x =

    1.2000    1.6500    2.1000    2.5500    3.0000

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

>> %结构矩阵就是一个元素包含多个成员
%单元矩阵就是每个元素都可以是不同的类型
>> chenlong.name='成龙';chenlong.age=60;chenlong.sex='男'

chenlong = 

  包含以下字段的 struct:

    name: '成龙'
     age: 60
     sex: '男'

>> chenlong={'名字','年龄','性别';'成龙',60,'男'}

chenlong =

  2×3 cell 数组

    {'名字'}    {'年龄'}    {'性别'}
    {'成龙'}    {[  60]}    {'男'  }

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

在这里插入图片描述

>> x=[1:3;4:6;7:9]

x =

     1     2     3
     4     5     6
     7     8     9

>> size(x)

ans =

     3     3

>> result=sub2ind([3,3],[1,3],[2,2])

result =

     4     6

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

>> x=[1:3;4:6;7:9]

x =

     1     2     3
     4     5     6
     7     8     9

>> size(x)

ans =

     3     3

>> [I,J]=ind2sub([3,3],[4,6])

I =

     1     3


J =

     2     2

>> %注意ind2sub()左边为矩阵形式,不然会出错
>> result=ind2sub([3,3],[4,6])

result =

     4     6

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

>> x=[1:3;4:6;7:9]

x =

     1     2     3
     4     5     6
     7     8     9

>> x[1:2;:]
 x[1:2;:]
  ↑
错误: 表达式无效。调用函数或对变量进行索引时,请使用圆括号。否则,请检查不匹配的
分隔符。
 
>> %注意不是方括号
>> x(1:2;:)
 x(1:2;:)
      ↑
错误: 表达式无效。调用函数或对变量进行索引时,请使用圆括号。否则,请检查不匹配的
分隔符。
 
>> %注意不是分号,而是逗号
>> x(1:2,:)

ans =

     1     2     3
     4     5     6

在这里插入图片描述

>> x=[1:3;4:6;7:9]

x =

     1     2     3
     4     5     6
     7     8     9

>> result=x(1:2,end)

result =

     3
     6

>> result=x(1:2,1:end)

result =

     1     2     3
     4     5     6

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

>> x=[1:3;4:6;7:9]

x =

     1     2     3
     4     5     6
     7     8     9

>> x(:,2:4)=0

x =

     1     0     0     0
     4     0     0     0
     7     0     0     0

>> x

x =

     1     0     0     0
     4     0     0     0
     7     0     0     0

>> x(:,2:4)=[]

x =

     1
     4
     7

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

### MATLAB圆括号使用当引发的无效表达式解决方案 在 MATLAB 编程过程中,如果遇到由于圆括号使用当而产生的语法错误,通常是因为函数调用数组索引出现了符合语法规则的情况。MATLAB 对于圆括号有严格的定义,在同上下文中其含义也有所同。 #### 函数调用中的圆括号使用圆括号调用函数,这些括号用于包裹传递给该函数的实际参数列表。例如: ```matlab result = sin(pi / 2); ``` 这里的 `sin` 是一个内置函数,`(pi / 2)` 表达的是传入此函数的一个实参[^1]。 #### 数组索引中的圆括号 对于矩阵其他类型的数组来说,圆括号用来指定访问特定位置上的元素。比如要获取维数组 A 的第 i 行 j 列处的数据,则应写作 `A(i,j)` 而是其他形式。需要注意的是,MATLAB 默认采用列优先存储方式,因此多维数组下标的顺序非常重要[^2]。 #### 常见误用及其修正建议 - **错误示范**: 尝试直接在一个数值后面加上圆括号作为乘法运算符的一部分,像这样写 `5(3+7)` 正确做法应该是明确指出这是两个独立的操作数之间的相乘关系:`5*(3+7)` - **错误示范**: 错误地尝试创建匿名函数忘记加句柄符号 @ 者把输入变量放在了该放的位置 应改为如下格式声明匿名函数:`f = @(x)x.^2;` - **错误示范**: 在逻辑条件判断里滥用圆括号造成混淆 如果想要比较某个值是否位于区间内,按照标准的形式书写,如 `(value >= lowerLimit && value <= upperLimit)` 为了防止因圆括号引起的语法问题,编写代码前应当仔细查阅官方文档并遵循最佳实践指南;另外也可以利用 IDE 提供的功能辅助检查潜在的问题所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

F l e

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

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

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

打赏作者

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

抵扣说明:

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

余额充值