24小时热门版块排行榜    

查看: 1048  |  回复: 6

tony087

银虫 (初入文坛)

[求助] matlab代码优化,符号运算预分配内存,望不吝赐教

有两个问题请教大神,望不吝赐教!
1,使用了for循环的嵌套,计算6个i*j的矩阵,尝试计算了一下10*10发现程序运行时间很长, 下面还想计算100*100的时间会更长,有没有好的方法进行代码优化,减少不必要的运行时间。
2。在进行代码优化考虑到,进行预分配内存可以减少运行时间,即      
M=zeros(4,4);%预分配内存,减少运行时间
C=zeros(4,4);
K1=zeros(4,4);
K2=zeros(4,4);
K3=zeros(4,4);
F=zeros(4,4);
发现M,C,K1矩阵元素都是常数,可以直接进行预分配内存,K2,K3,F矩阵元素是含有符号的不能进行直接预分配内存,去掉K2=zeros(4,4);K3=zeros(4,4);F=zeros(4,4);这三句程序才能运行。这个问题怎样才能解决?

matlab代码优化,符号运算预分配内存,望不吝赐教
code.PNG
回复此楼
一个当地比较英俊的男子
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tony087

银虫 (初入文坛)

第二个问题已经解决
一个当地比较英俊的男子
2楼2014-12-08 11:14:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wypzxj1314

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by tony087 at 2014-12-08 11:14:08
第二个问题已经解决

请教一下怎么解决的啊?
3楼2014-12-08 19:35:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tony087

银虫 (初入文坛)

引用回帖:
3楼: Originally posted by wypzxj1314 at 2014-12-08 19:35:20
请教一下怎么解决的啊?...

目前还没有好的方法,正在看matlab代码优化的资料,你有了方法麻烦告知一下啊
一个当地比较英俊的男子
4楼2014-12-08 21:12:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

刘畅的用户名

木虫 (小有名气)

将符号运算改为数值运算试试?

[ 发自小木虫客户端 ]
5楼2014-12-09 11:21:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tony087

银虫 (初入文坛)

引用回帖:
5楼: Originally posted by 刘畅的用户名 at 2014-12-09 11:21:19
将符号运算改为数值运算试试?

把x和t代入数值?怎么代入啊?麻烦说的明白一下
一个当地比较英俊的男子
6楼2014-12-10 10:39:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tony087

银虫 (初入文坛)

引用回帖:
3楼: Originally posted by wypzxj1314 at 2014-12-08 19:35:20
请教一下怎么解决的啊?...

改成:K2=sym(zeros(n,1))
一个当地比较英俊的男子
7楼2014-12-12 16:44:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 tony087 的主题更新
信息提示
请填处理意见