24小时热门版块排行榜    

CyRhmU.jpeg
查看: 5657  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

xiaoxiao2793

银虫 (小有名气)

[求助] 怎样将for循环的结果存入数组

求大侠帮助
我matlab中的for循环的结果怎么才能存储到数组中,我是超级初学者,请大侠帮忙啊。。。。。。
for t=10000:500:35000,
n=(77120000000000000000000.0*t^(9/2)*exp(458000.0/t) - 109500000000000000000000000000.0*t^2*exp(503050.0/t))^(1/3)*(0.5 - 0.86602540378443864676372317075294*i)
end
我怎样才能将n的结果存放在数组中???
请大家帮忙啊,谢谢。。。。。。。。。。。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaoxiao2793

银虫 (小有名气)

送鲜花一朵
引用回帖:
: Originally posted by xiegangmai at 2011-12-16 21:38:55:
虽能实现要求,执行效率太低。
比较以下的代码,执行效率差别还是很大的。
[code]clear
clc
tic
A=[];
for t=10000:500:35000,
    n=(77120000000000000000000.0*t^(9/2)*exp(458000.0/t) - 10950000000 ...

高明啊。。。谢谢。。。
6楼2011-12-19 09:19:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

信彼南山

木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
xiegangmai(金币+1): 谢谢应助! 2011-12-16 21:24:41
xiaoxiao2793(金币+5): 谢谢你,我用了你的方法做出来了。。。 2011-12-19 09:14:11
A=[];
for t=10000:500:35000,
n=(77120000000000000000000.0*t^(9/2)*exp(458000.0/t) - 109500000000000000000000000000.0*t^2*exp(503050.0/t))^(1/3)*(0.5 - 0.86602540378443864676372317075294*i);
A=[A n];
end
2楼2011-12-16 18:26:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangyuewu08

木虫 (著名写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xiegangmai(金币+2): 谢谢应助! 2011-12-16 21:25:17
这种情况下,可以直接使用数组运算,也就是在运算符前面加上.,这比循环的速度要快,且结果直接存放在数组里。注意,要把表达式写成一行或用...进行分行。
CODE:
t = 10000 : 500 : 35000;
n = zeros(1, length(t));
n = (77120000000000000000000.0 * t .^(9/2).*exp(458000.0./t) - 109500000000000000000000000000.0 * t .^(2).*exp(503050.0./t)).^(1/3)*
(0.5 - 0.86602540378443864676372317075294i);

往事并不如烟
3楼2011-12-16 21:06:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
臭水沟(金币+3): 谢谢交流~~ 2011-12-17 18:23:00
引用回帖:
2楼: Originally posted by 信彼南山 at 2011-12-16 18:26:44:
A=[];
for t=10000:500:35000,
n=(77120000000000000000000.0*t^(9/2)*exp(458000.0/t) - 109500000000000000000000000000.0*t^2*exp(503050.0/t))^(1/3)*(0.5 - 0.86602540378443864676372317075294*i);
A=[A ...

虽能实现要求,执行效率太低。
比较以下的代码,执行效率差别还是很大的。
CODE:
clear
clc
tic
A=[];
for t=10000:500:35000,
    n=(77120000000000000000000.0*t^(9/2)*exp(458000.0/t) - 109500000000000000000000000000.0*t^2*exp(503050.0/t))^(1/3)*(0.5 - 0.86602540378443864676372317075294*i);
    A = [A n];
end
toc

tic
t = 10000 : 500 : 35000;
A1 = zeros( 1, length( t ) );
for n = 1 : length( t )
    A1( n )=(77120000000000000000000.0*t( n )^(9/2)*exp(458000.0/t( n )) - 109500000000000000000000000000.0*t( n )^2*exp(503050.0/t( n )))^(1/3)*(0.5 - 0.86602540378443864676372317075294*i);
end
toc

tic
t = 10000 : 500 : 35000;
% n = zeros(1, length(t));
n = (77120000000000000000000.0 * t .^(9/2).*exp(458000.0./t) - 109500000000000000000000000000.0 * t .^(2).*exp(503050.0./t)).^(1/3)* (0.5 - 0.86602540378443864676372317075294i);
toc

» 本帖已获得的红花(最新10朵)

明德厚学、求是创新
4楼2011-12-16 21:38:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见