24小时热门版块排行榜    

查看: 2402  |  回复: 13

木子8268

木虫 (正式写手)

[求助] matlab程序中调用m文件的问题

已经有程序aaa.m,运行可以计算得到几十个矩阵,或者说上百个变量的值;
接下来写程序bbb.m,想在b中直接调用这些变量进行些运算

但是在程序b中直接写‘aaa.m’这样的语句,会出现如下警告,没有继续往下运行:

Warning: Direct access of structure fields returned by a function call (e.g.,
call to aaa) is not allowed. See MATLAB 7.10 Release Notes, "Subscripting Into Function Return Values" for details.
> In bbb at 6
??? Attempt to reference field of non-structure array.

Error in ==> bbb at 6
aaa.m

貌似意思是只可以调用函数,不能这样调用脚本文件?

另:如果在command windows里可以直接这样运行,难道我每次运行bbb之前先手动运行aaa?
我试过system命令貌似也不行啊
求虫子支个好招,aaa写成函数有点不太可能啊,输出的变量太多了

谢谢了!
回复此楼

» 猜你喜欢

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

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

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
木子8268: 金币+2, 有帮助 2013-07-24 16:05:55
xiegangmai: 金币+1, 谢谢参与! 2013-07-24 22:35:51
aaa.m和bbb.m写进一个m文件中。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2013-07-22 18:20:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

WWJ1991

木虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
木子8268: 金币+1 2013-07-24 16:06:05
xiegangmai: 金币+1, 谢谢参与! 2013-07-24 22:35:56
在aaa中将bbb中要用到的变量全部定义成全局变量,即用global定义。
3楼2013-07-22 21:35:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (职业作家)

Matlab专家

★ ★
感谢参与,应助指数 +1
木子8268: 金币+1 2013-07-24 16:06:12
xiegangmai: 金币+1, 谢谢参与! 2013-07-24 22:36:03
本帖仅楼主可见
4楼2013-07-22 22:41:41
已阅   申请仿真EPI   回复此楼   编辑   查看我的主页

Felix朱飞

新虫 (小有名气)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
木子8268: 金币+1 2013-07-24 16:06:17
xiegangmai: 金币+2, 谢谢参与! 2013-07-24 22:36:20
我怎么看着像是楼主写MATLAB函数调用有问题?

aaa.m中采用以下结构
function returnS = aaa(A,B)
……
(最好把运算得到的矩阵用结构体或者单元数组封装)
end

bbb.m中采用以下结构
function bbb()
(调用aaa.m,返回的C就是aaa运算后的矩阵)
C=aaa.(M,N);
......
end

运行调试时,直接在命令窗口输入bbb即可,而不需要先运行aaa。

当然先运行aaa也可以。可把aaa运行后的工作空间中有用的矩阵保存成.mat,再在bbb中读入。MATLAB中数据传递的方式方法多得很。
5楼2013-07-24 09:27:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Felix朱飞

新虫 (小有名气)

【答案】应助回帖


xiegangmai: 金币+1, 谢谢参与! 2013-07-24 22:36:28
C=aaa(M,N);  函数中无圆点。
6楼2013-07-24 09:30:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rocmanz

新虫 (初入文坛)

【答案】应助回帖

★ ★
xiegangmai: 金币+2, 谢谢参与! 2013-07-24 22:36:35
尝试回答一下。
楼主的意思是写了个文件aaa.m(不一定是程序function)还是程序function aaa?如果是前者的话,你里面变量一样没啥问题啊,直接在bbb.m里面需要调用aaa里面变量之前写一行“aaa;”,就可以自动运行aaa.m了,应该。不过你要确保aaa.m和bbb.m在一个文件夹里。另外,这种方法,每次都会运行一遍aaa.m,比较浪费时间。如果你aaa.m的计算结果是确定不变的,推荐写入将所有aaa.m的结果写入一个*.mat文件,然后调用之。
7楼2013-07-24 16:07:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木子8268

木虫 (正式写手)

引用回帖:
7楼: Originally posted by rocmanz at 2013-07-24 16:07:27
尝试回答一下。
楼主的意思是写了个文件aaa.m(不一定是程序function)还是程序function aaa?如果是前者的话,你里面变量一样没啥问题啊,直接在bbb.m里面需要调用aaa里面变量之前写一行“aaa;”,就可以自动运行 ...

谢谢回帖了,不好意思,悬赏的金币刚发完了
其实我原来想的就是是“直接在bbb.m里面需要调用aaa里面变量之前写一行“aaa;”
但是发现不行,会出现我求助里面所说的warning,运行不下去
8楼2013-07-24 17:04:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rocmanz

新虫 (初入文坛)

引用回帖:
8楼: Originally posted by 木子8268 at 2013-07-24 17:04:09
谢谢回帖了,不好意思,悬赏的金币刚发完了
其实我原来想的就是是“直接在bbb.m里面需要调用aaa里面变量之前写一行“aaa;”
但是发现不行,会出现我求助里面所说的warning,运行不下去...

你的aaa.m是个function?那就不能直接写了。
9楼2013-07-24 17:07:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木子8268

木虫 (正式写手)

引用回帖:
9楼: Originally posted by rocmanz at 2013-07-24 17:07:53
你的aaa.m是个function?那就不能直接写了。...

不是function函数
10楼2013-07-24 17:10:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 木子8268 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 7K1CJE38xLG4 2026-08-25 3/150 2026-08-26 00:40 by cNXvBfCpiZOM
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +16 木水思豆 2026-08-25 19/950 2026-08-25 23:56 by dragonxp
[基金申请] 有没有大神帮我看看基金代码 28+4 1234567wang 2026-08-24 10/500 2026-08-25 19:15 by lfy8008
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 19/950 2026-08-25 17:57 by chick875
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 2026国自然函评费到账 +20 羊腰板 2026-08-21 23/1150 2026-08-25 16:34 by zsna
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +17 医学老男孩 2026-08-20 22/1100 2026-08-25 15:36 by 医学老男孩
[基金申请] 人气不行了 +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by 孤独的英雄6
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +3 苏东坡二世 2026-08-23 3/150 2026-08-25 10:35 by shisan1313
[基金申请] 我面上完蛋了 +13 且听虎啸 2026-08-20 14/700 2026-08-25 09:10 by mrkang
[基金申请] 范进中举一文的中心思想 +7 炎黄贵胄 2026-08-22 8/400 2026-08-25 08:48 by ZJTJZ
[基金申请] 只有每年这种时候来逛逛小木虫 +25 yaoyewhu2008 2026-08-20 27/1350 2026-08-25 08:01 by Equinoxhua
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
信息提示
请填处理意见