У меня проблема с обнаружением ошибки в следующем уравнении в 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)))
Я получил следующую ошибку:
Matrix dimensions must agree.
Error in untitled>@(z,q)(z.^2+q.^2)
Error in untitled>@(z)a(z,q)
Error in integralCalc/iterateScalarValued (line 314)
fx = FUN(t);
Error in integralCalc/vadapt (line 132)
[q,errbnd] = iterateScalarValued(u,tinterval,pathlen);
Error in integralCalc (line 75)
[q,errbnd] = vadapt(@AtoBInvTransform,interval);
Error in integral (line 88)
Q = integralCalc(fun,a,b,opstruct);
Error in untitled>@(q)integral(@(z)a(z,q),1,10)
Вот скриншот .
Может кто-нибудь указать на ошибку.Примечание: я хотел бы иметь z
и q
в качестве вектора