我需要帮助弄清楚如何编写以下问题。任何帮助将不胜感激!
创建一个函数,该函数将接受x
( 1 by n
) 的向量/数组输入和 的标量输入a
,并产生由以下等式定义的输出:
y(x,a)=((xsin(ax-2))/(sqrt(1+(ax)^2)
-π ≤ x ≤ π
a={.5 1 1.5 2}
方程必须向量化,x
函数的输出是与数组y
具有相同维度的数组x
。
编写一个脚本,调用这个函数来计算上面定义y(x,a)
的范围x
和参数的每个值a
。结果应该存储在一个解决方案矩阵中,对于 的每个值使用不同的解决方案矩阵行a
。
到目前为止,对于我的功能,我有:
function [y] = part1(a,x)
y=((x*sin(a*x-2))/(sqrt(1+(a*x).^2)));
end
我不确定如何将其输出到解决方案矩阵中
对于我的脚本,我有:
%%
clear,clc
a={0.5 1 1.5 2};
x=-pi:0.1:pi;
for
part1(x,a)
end
我现在运行它时遇到以下错误:
Undefined function 'mtimes' for input arguments of type 'cell'.
Error in part1 (line 4)
y=((x*sin(a*x-2))/(sqrt(1+(a*x).^2)));
Error in labtest2 (line 8)
y(i,:)=part1(x,a(i));
编辑
我进行了一些更改,但仍然遇到一些我无法解决的错误。
这是我的完整函数代码,后面是完整的脚本代码:
功能
function [y] = part1(x,a)
nx=numel(x);
na=numel(a);
y=((x.*sin(a.*x-2))./(sqrt(1+(a.*x).^2)));
size(y)=[nx na]
end
脚本
%%
clear,clc
a={0.5 1 1.5 2};
x=-pi:0.1:pi;
for i = 1:length(a)
y(i,:)=part1(x,a(i));
end
错误
Undefined function 'times' for input arguments of type 'cell'.
Error in part1 (line 6)
y=((x.*sin(a.*x-2))./(sqrt(1+(a.*x).^2)));
Error in labtest2 (line 8)
y(i,:)=part1(x,a(i));