一个矩阵,元素都是符号表达式,因为过于复杂导致计算速度太慢,所以我想转成数值积分,但是出现了错误,请大家指点迷津,谢谢! 代码如下: >> syms x y A=[x+1 x-1; y+2*x y-1]; B=[2*x+1 3*x-1; 2*y+2*x 3*y-1]; C=A*B; g = matlabFunction(C); quad2d(@(x,y)g(x,y),0,1,0,1); 错误使用 reshape 元素数不能更改。请使用 [] 作为大小输入之一,以自动计算该维度的适当大小。 出错 symengine>@(x,y)reshape([(x.*2.0+y.*2.0).*(x-1.0)+(x.*2.0+1.0).*(x+1.0),(x.*2.0+1.0).*(x.*2.0+y)+(x.*2.0+y.*2.0).*(y-1.0),(x.*3.0-1.0).*(x+1.0)+(y.*3.0-1.0).*(x-1.0),(x.*3.0-1.0).*(x.*2.0+y)+(y.*3.0-1.0).*(y-1.0)],[2,2]) 出错 @(x,y)g(x,y) 出错 quad2d/tensor (第 343 行) Z = FUN(X,Y); NFE = NFE + 1; 出错 quad2d (第 167 行) [Qsub,esub] = tensor(thetaL,thetaR,phiB,phiT); |
最佳答案
5 条回复