24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 2117  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求调剂,一志愿厦门大学,生物与医药,总分272,本科211 +3 Electron1cc 2026-04-01 4/200 2026-04-05 20:24 by lys0704
[考研] 材料工程302分求调剂 +8 zyx上岸! 2026-04-04 8/400 2026-04-05 18:48 by 蓝云思雨
[考研] 材料334求调剂 +15 Eecho# 2026-04-03 15/750 2026-04-04 23:05 by 无际的草原
[考研] 材料科学与工程调剂 +19 深V宿舍吧 2026-03-30 20/1000 2026-04-04 22:13 by hemengdong
[考研] 321求调剂 +13 认真求上学 2026-04-02 13/650 2026-04-04 18:23 by macy2011
[考研] 考研调剂 +4 zybz冲冲冲 2026-04-03 6/300 2026-04-04 13:08 by zybz冲冲冲
[考研] 288求调剂 一志愿哈工大 材料与化工 +39 洛神哥哥 2026-03-31 41/2050 2026-04-03 21:51 by qlm5820
[考研] 281求调剂 +10 aaawhy 2026-04-03 10/500 2026-04-03 21:42 by lbsjt
[考研] 学硕288调剂!!! +3 小王xw123 2026-04-03 3/150 2026-04-03 21:20 by 啵啵啵0119
[硕博家园] 求老师收留 +9 lllq123 2026-04-03 9/450 2026-04-03 13:48 by 呼吸都是减肥
[考研] 303求调剂 +3 一色清羽 2026-04-02 4/200 2026-04-03 10:22 by 蓝云思雨
[考研] 262求调剂 +6 励志一定发文章 2026-04-02 7/350 2026-04-03 09:54 by linyelide
[考研] 复试调剂 +3 bvzz 2026-04-01 3/150 2026-04-03 09:47 by 蓝云思雨
[考研] 372分材料与化工(085600)一志愿湖南大学求调剂 +5 蓝笺片 2026-04-02 6/300 2026-04-02 21:37 by dongzh2009
[考研] 一志愿北京科技大学085601材料工程英一数二初试总分335求调剂 +8 双马尾痞老板2 2026-04-02 9/450 2026-04-02 14:45 by 5896
[考研] 307分求调剂 +14 (o~o) 2026-03-31 15/750 2026-04-01 20:43 by longlotian
[考研] 求0861交通运输专硕or材料专硕调剂 +4 勒布朗@ 2026-03-31 4/200 2026-04-01 09:54 by 一只好果子?
[考研] 339求调剂 +5 zjjkt 2026-03-31 5/250 2026-04-01 09:18 by JourneyLucky
[考研] 254材料与化工求调剂 +3 翰冬林楠 2026-03-30 4/200 2026-03-31 17:53 by yishunmin
[考研] 297 地理学070500 复试求调剂 +3 小圆圈圈ooo 2026-03-30 3/150 2026-03-30 21:05 by 余震yz
信息提示
请填处理意见