CAD教程 行业资讯 3D模型下载 Pro/E教程 CAD书店 软件下载 联系我们
技术资料 CAD招聘 发布招聘 CAD问答 设计竞赛 CAD认证 北京CAD培训
视频教程 PS教程 CAD图纸 图书推荐 Solidworks教程 CAD培训 CAD软件商

 最新视频教程Pro/ENGINEER Wildfire2.0 工业设计实例视频教程 (全套免费在线学习)   AutoCAD视频教程每日更新
 
首页 > CAD在线问答 > matlab

关于matlab的问题

2010-10-29 51自学网



我是新手请教matlab高人。现有这样一个题目:现要生成一个n×n的矩阵A,矩阵第一个元素值为1,剩下的每个值是该行左边值之和加1,接下来第一行的第一个值是上一行所有元素之和。比如当n=3:A=(1,2,4;7,8,16;31,32,64)助教给的答案如下:A=zeros(n,n);for z=1:n for s=1:n switch s case 1 if z==1 A(z,s)=1; else A(z,s)=sum(A(z-1,:)); end otherwise A(z,s)=sum(A(z,1:s))+1; end endendA我想问下第9行中A(z-1,:)这里:是怎么回事?为什么冒号左右没有数?还有就是第6行z==1,为什么是两个等号?如果您尚有耐心,请帮我稍微解释一下这个答案的细节,谢谢!
一楼的回答让我基本理解这个答案了。非常感谢。但是还有个地方不太明白就是倒数第五行我觉得应该是A(z,s)=sum(A(z,1:(s-1)))+1;我试了下都能运行算出结果。这是为什么呢?

==就是判断左右两边是否相等的运算符,因为=已经被用来作为赋值运算符了,所以只能用==替代了(绝大多数语言都是这样表示的):就是所有元素的意思,是1:1:end的略写。比如A(:)就是A的所有元素,A(2,:)就是A的第2行的所有元素,A(:,2)就是A的第2列的所有元素。 ————————————————————————————按照题意你这个写法更准确,但是因为A(z,s)一开始是0,所以加上后也结果也没什么影响。



 

 

MATLAB:哪位大侠帮我找找错误,万分感激............
我遇到过的最难matlab题!!!!!
我来回答 共有条 回答
用户名: 密码:
验证码: 匿名发表
| AutoCAD | Pro/E | UG | 3Dmax | catia | solidworks | maya | photoshop | 模具设计 | 有限元 | matlab | 计算机图形学 | 室内设计 |