为啥以下操作在 Matlab 中不起作用
Posted
技术标签:
【中文标题】为啥以下操作在 Matlab 中不起作用【英文标题】:Why won't the following operations work in Matlab为什么以下操作在 Matlab 中不起作用 【发布时间】:2019-10-23 10:31:39 【问题描述】:如果输入到 Matlab 脚本中,以下内容被认为是不可接受的:
i) 8.8*e-2
ii) 3.2e1.5
iii) 1.25e+005
但为什么 i)、ii) 和 iii) 不起作用?
是因为e
未定义吗?
我原以为 i) 的原因是因为不必要的 *
,但在 ii) 或 iii) 中都没有 *
,我认为它们也是不可接受的。
【问题讨论】:
【参考方案1】:我:
>> 8.8*e-2
Undefined function or variable 'e'.
这是不言自明的;您要求与 *
运算符相乘。应该是8.8e-2
二:
>> 3e1.5
3e1.5
↑
Error: Unexpected MATLAB expression.
来自***(重点是我的):
科学记数法(在英国也称为科学形式或标准索引形式,或标准形式)是一种表示数字太大或太小而不能方便地以十进制形式书写的方式。 [...]
在科学计数法中,所有数字都以
m × 10^n
的形式书写 (m 乘以 10 的 n 次方),其中指数 n 为整数,系数 m 为任意实数。
你想用
>> 3*10^1.5
ans =
94.8683
三:
>> 1.25e+005
ans =
125000
有什么问题?
2 是可以接受的:6,10 和 .0
你能澄清一下这个问题吗?这似乎与科学记数法无关。
>> 6,10
ans =
6
ans =
10
>> .0
ans =
0
【讨论】:
以上是关于为啥以下操作在 Matlab 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章