答案 0 :(得分:1)
linspace(a,b)
在100分内创建一个从a
到b
的数组,因此linspace(0,3)
会创建一个数组[0/33 1/33 2/33, ... 98/33 99/33]
而
x = 0:0.1:3
创建一个数组[0 0.1 0.2 0.3 ... 2.9 3]
,即从0
开始0.1
到3
。
f = x.^3.*cos(x+1)
然后为数组x
中包含的每个值计算xi^3*cos(xi+1)
的值,其中xi
是第i个元素。所以f
也会有31个元素。第21个元素2
将评估f = 2^3*cos(2+1)
的函数。
要明确显示此内容,您可以使用
f(x==2)
将为您提供与f(21)
相同的答案。 不保证数字相等,使用abs(x-2)<eps
或类似的稳定性
请注意,您可以使用“{1}}的”旧“版本评估x=2
和x=3
上的功能,因为x
和x(67)==2
创建步骤为x(100)==3
的数组的替代方法是使用0.1
,这会创建一个线性间隔的数组,从linspace(0,3,31)
开始,以{{结尾1}}并且0
步长相等。当你想要特定数量的步骤而不是特定的步长时,这很有用,所以在这个例子的例子中,我确实使用冒号表示法。
幂和乘法函数3
和31
前面的点使MATLAB评估那些元素,这意味着{{1}中的所有元素评估该函数。省略这些点会使MATLAB使用^
和*
作为矩阵运算。
答案 1 :(得分:0)
该行:
x=0:0.1:3
创建一个从0到3的向量,跳数为0.1,如下所示:
0,0.1,0.2,...,1.9,2.0,...3.0
2.0的值是21的索引。 因此,为了推导出f(2)的值,你实际上想要检查函数f(x)的输出是否为索引21处的值,即f(21)