找回密码
 注册
Simdroid-非首页
查看: 78|回复: 1

在循环中求解变量极值时出现错误

[复制链接]
发表于 2010-7-26 17:05:53 | 显示全部楼层 |阅读模式 来自 浙江台州
A(:,:,k)是一个含有字符参数tc1的24×9×719的矩阵,Q(:,:,k)是一个24×1×719的矩阵,例如:
A(:,:,1)=[3 6 8 tc1 5 7 6 4 2;
             6 4 5 1 3 8 2 4 tc1;
             ......................
             ......................
             6 4 8 3 0 tc1 8 3 5;
             5 8 7 2 6 tc1 6 3 4;]
Q(:,:,1)=[5;7;3;4..................5]
想通过以下程序求得for k=1:719 变量tc1在区间(90,10800)内sum(Q_2)的最小值并赋值给timcs(k),可是出现错误,不知道该怎么办
for k=1:719
Q1=A(:,:,k)*(( transpose(A(:,:,k))*A(:,:,k))\(transpose(A(:,:,k))*Q(:,:,k)))
Q_2=(Q(:,:,k)-Q1).^2;
f=sum(Q_2);
y=inline(f);
[tc2,y]=fminbnd(y,90,10800);
timcs(k)=tc2;
end

??? Error using ==> maple
Error, (in collect/coeffs) integer too large in context
Error in ==> sym.mldivide at 28
   X = maple('linsolve',char(A),char(B),'''_rank''');

请问以上错误到底出在哪.(in collect/coeffs)是什么意思?当k比较小的时候不会出现错误,可是当k循环到400左右的时候就会跳出以上错误.

评分

1

查看全部评分

发表于 2010-7-26 17:42:06 | 显示全部楼层 来自 黑龙江伊春
Simdroid开发平台
觉得可能是f=sum(Q_2);这条语句的问题。随着循环次数的增加,符号变量f 的表达式会越来越长,最后超出系统限制。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 23:24 , Processed in 0.040594 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表