Matlab 使用sin时出错。输入参数不足。为什么会这样?

Matlab 使用sin时出错。输入参数不足。为什么会这样?,matlab,Matlab,我正在解一道数学题,我不能继续犯错误了 我用sin^2(x)尝试了所有常量,但都是一样的 清楚的 clc 使用sin时出错 输入参数不足 lab2t114(第9行)中的错误 y=正弦^ 2(θ)*(t/4)< p> Sin 是一个函数,因此它应该被称为代码> Sin(value)< /C> >,在这种情况下,是 Sin(θ)< /代码>,这有助于考虑在中间步骤中编写所有的东西: temp = sin(theta); y = temp.^2 ... 完成此操作后,您始终可以将先前计算中的行插入

我正在解一道数学题,我不能继续犯错误了

我用sin^2(x)尝试了所有常量,但都是一样的

清楚的 clc

使用sin时出错 输入参数不足

lab2t114(第9行)中的错误
y=正弦^ 2(θ)*(t/4)

< p> <代码> Sin <代码>是一个函数,因此它应该被称为代码> Sin(value)< /C> >,在这种情况下,是<代码> Sin(θ)< /代码>,这有助于考虑在中间步骤中编写所有的东西:

temp = sin(theta);
y = temp.^2 ...
完成此操作后,您始终可以将先前计算中的行插入下一行,插入括号以确保操作顺序不会混乱。注意,在这种情况下,您实际上不需要括号

y = (sin(theta)).^2; 
最后,Matlab具有矩阵运算和元素运算。元素运算以句点“.”开始。例如,在Matlab中,您可以查看
help.*
(元素乘法)和
help*
矩阵运算。对于标量,如示例中的
2
,这种区别并不重要。然而,为了计算y,您需要元素操作,因为
theta
t
是向量(在这种情况下,您不希望进行矩阵乘法-我认为…)

还要注意,这些中间变量主要用于学习目的。最好不要像这样编写实际代码,因为在本例中,最后一行要干净得多


编辑:简要说明,如果您修复了
sin(θ)
错误,但没有修复.or.*错误,您将得到一些错误,如“使用*内部矩阵维数必须一致的错误”-这通常表示您忘记使用元素运算符

sin必须首先提供θ。然后你可以把它摆正
sin(θ)^2
此外,您可能需要元素方向的平方:
sin(θ)。^2
y = (sin(theta)).^2; 
t = 1:0.5:10;
theta = linspace(0,pi,19);

x = 2*sin(theta) %times scalar so no .* needed

sin_theta = sin(theta);
sin_theta_squared = sin_theta.^2; %element wise squaring needed since sin_theta is a vector
t_4 = t/4; %divide by scalar, this doesn't need a period
y = sin_theta_squared.*t_4; %element wise multiplication since both variables are arrays
y = sin(theta).^2.*(t/4);