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

计算结果输出到excel表格出错?

[复制链接]
发表于 2009-6-3 16:12:07 | 显示全部楼层 |阅读模式 来自 河南郑州
[i=s] 本帖最后由 ljelly 于 2009-6-4 09:04 编辑 [/i]

本人在GUI push button下添加如下代码:
for h=1600:20:2200;
x0 = [1 1 1];         
options=optimset('Display','off');   a=900;
b=1000;
c=800;
d=600;
e=6000;
myfun=@(x)[d-c*cos(x(2))-b*cos(x(3))+a*cos(x(1));...
    c*sin(x(2))-b*sin(x(3))-a*sin(x(1));h-e*sin(x(3))-a*sin(x(1))];
[x,fval] = fsolve(myfun,x0,options);  % Call optimizer
A=x(1)*180/pi;
B=x(2)*180/pi;
C=x(3)*180/pi;
y=10*sin(A)+5;
z=5*cos(B)+8;
f=12*sin(A)+10*cos(C);
r=14*tan(B)+8;
cat(1,h,y,z,f,r);
m=cat(1,h,y,z,f,r)'
xlswrite('outex',m,'sheet1','A2');
end
原意是希望在excel中输出h在1600--2200区间上每隔20计算出来的y.z.f.r 可是结果只输出2200处的值,请高手指教一下如何解决?先谢谢了
发表于 2009-6-3 18:54:16 | 显示全部楼层 来自 浙江杭州
Simdroid开发平台
你可以把每次循环的m矩阵都存在一个大的矩阵中,然后把xlswrite放在循环外面,最后将大矩阵一起存入excel中
回复 不支持

使用道具 举报

 楼主| 发表于 2009-6-4 07:59:54 | 显示全部楼层 来自 河南郑州
本帖最后由 昨日的风 于 2009-6-4 08:02 编辑

2# messenger
具体如何操作,请高手明示!
回复 不支持

使用道具 举报

 楼主| 发表于 2009-6-4 11:14:59 | 显示全部楼层 来自 河南郑州
高手指教一下,有急用!先谢谢了

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-6-4 12:06:38 | 显示全部楼层 来自 浙江杭州
不要说“急”,论坛不鼓励这种急功近利行为。

凡是说急的,最后都过关了,没见过一个说“急”的,最后回来说因为没人回答,而耽误了。

而且,凡是说“急”的,问完问题,很少能回来把经验和大家共享的。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-6-4 13:54:16 | 显示全部楼层 来自 河南郑州
本帖最后由 昨日的风 于 2009-6-4 14:01 编辑

我是真心来请教问题的,不是来听说教的!
如果你当惯了老师,我请你注意说话的口吻!不要以为比本人多懂一点就觉得比别人优越!
回复 不支持

使用道具 举报

发表于 2009-8-12 16:08:14 | 显示全部楼层 来自 浙江杭州
学习很重要,但态度要端正.
这里有一基本思路供参考:
先根据最终输出的矩阵大小设置一个同样大小的全0矩阵,再把在每次循环中得到的数据存储到全0矩阵中,循环结束时,全0矩阵已被替换成了需要的矩阵,最后将该矩阵输出.
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-10-7 07:29 , Processed in 0.044358 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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