楼主: qingwfy
2280 3

如何定义这个Structure? [推广有奖]

  • 0关注
  • 0粉丝

学前班

90%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
33 点
帖子
2
精华
0
在线时间
4 小时
注册时间
2011-1-12
最后登录
2011-1-20

楼主
qingwfy 发表于 2011-1-12 11:58:26 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
在GAUSS10的USER GUIDE里面,16-7页(pp.227)有一个图:Fig 16.1 structure tree for e1。如何定义这个复杂的tree?我的做法是:

struct example3 {matrix w; string array sa;}; //定义第三层的structure.
struct example3 e3;  //e3作为第三层的structure的instance.
struct example2 {matrix z; struct example3 e3;};//定义第2层的structure.
struct example2 e2; e2=reshape(e2,3,1);//将e2变成一个3*1的array。
struct example1 {matrix x; matrix y; string str; struct example2 e2;};//定义第1层的structure.
struct example1 e1;
e1.e2[1,1].e3=reshape(e1.e2[1,1].e3, 2,1); //将第一个e3变成2*1的array。该操作成功。
e1.e2[3,1].e3=reshape(e1.e2[3,1].e3, 2,1); //将第3个e3变成3*1的array。该操作失败。

问题出在最后一步。出现错误:(0) : error G0058 : Index out of range

各位GAUSS大师帮我看看,解答一下。先跪谢!

structure.jpg
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Structure struct TRU instance example 定义 Structure

沙发
xuehe 发表于 2011-1-12 20:38:41
指标在范围之外,再认真检查,是否应写3?

藤椅
qingwfy 发表于 2011-1-13 18:36:00
2# xuehe
多谢斑竹回复。下面这一句:
e1.e2[3,1].e3=reshape(e1.e2[3,1].e3, 2,1);


确实需要改为
e1.e2[3,1].e3=reshape(e1.e2[3,1].e3, 3,1);


但是,不管是2,还是3,出现的错误是一样的。


最笨的方法估计是对三种e3分别定义三个structure,这样肯定没问题,但是运行效率肯定大大降低。我就想尝试一下是否可以通过一个e3结构来将图中的第三层结构定义出来。



板凳
xuehe 发表于 2011-1-13 22:15:04
you well done!try your better!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-27 05:37