Matlab &引用;矩阵尺寸必须一致”;计算积分时出错

Matlab &引用;矩阵尺寸必须一致”;计算积分时出错,matlab,numerical-integration,Matlab,Numerical Integration,我在MATLAB中发现以下方程式中的错误时遇到问题: a=@(z,q)(z.^2 + q.^2); a1=@(q) integral(@(z) a(z,q),1,10); 首先,我想做一个a在z中的有限积分,在数值范围内,假设1和10,然后我想绘制a1关于q。 当我使用以下命令执行上述命令时: plot(linspace(0,3e8), a1(linspace(0,3e8))) 我得到了以下错误: 有人能指出错误吗。 注意:我希望将z和q作为向量默认情况下,MATLAB函数integral

我在MATLAB中发现以下方程式中的错误时遇到问题:

a=@(z,q)(z.^2 + q.^2);
a1=@(q) integral(@(z) a(z,q),1,10);
首先,我想做一个
a
z
中的有限积分,在数值范围内,假设
1
10
,然后我想绘制
a1
关于
q
。 当我使用以下命令执行上述命令时:

plot(linspace(0,3e8), a1(linspace(0,3e8)))
我得到了以下错误:

有人能指出错误吗。
注意:我希望将
z
q
作为向量

默认情况下,MATLAB函数
integral
计算单个积分,而不是积分数组。将允许您集成一个返回多个值的函数,例如
a

a = @(z,q)(z.^2 + q.^2);
x = linspace(0,3e8);
y = integral(@(z)a(z,q),1,10,'ArrayValued',true);
plot(x,y)
在问题的底部,标签的下方有一个“编辑”链接。请用它来编辑你的问题。不要将编辑作为答案发布。我已把你的答案复制粘贴到问题中。如果您愿意,请继续编辑您的问题!:)
a = @(z,q)(z.^2 + q.^2);
x = linspace(0,3e8);
y = integral(@(z)a(z,q),1,10,'ArrayValued',true);
plot(x,y)