24小时热门版块排行榜    

查看: 2082  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料专硕306英一数二 +3 z1z2z3879 2026-03-16 3/150 2026-03-16 09:19 by Demonsssss
[考研] 化学工程321分求调剂 +6 大米饭! 2026-03-15 6/300 2026-03-16 07:58 by wang_dand
[考研] 材料与化工一志愿南昌大学327求调剂推荐 +6 Ncdx123456 2026-03-13 7/350 2026-03-16 07:44 by L135790
[考研] 311求调剂 +3 26研0 2026-03-15 3/150 2026-03-15 09:12 by JourneyLucky
[考研] 308 085701 四六级已过求调剂 +7 温乔乔乔乔 2026-03-12 14/700 2026-03-14 10:49 by JourneyLucky
[考研] 332分材料工程调剂 +3 莓好时光海苔 2026-03-09 3/150 2026-03-14 02:03 by JourneyLucky
[考研] 环境调剂 +6 晓看天暮看云 2026-03-09 6/300 2026-03-14 01:16 by JourneyLucky
[考研] 0703求调剂 +7 jtyq001 2026-03-10 7/350 2026-03-14 01:06 by JourneyLucky
[考研] 312求调剂 +6 陌宸希 2026-03-10 6/300 2026-03-14 00:40 by JourneyLucky
[考研] 0856材料与化工309分求调剂 +6 ZyZy…… 2026-03-10 6/300 2026-03-14 00:38 by JourneyLucky
[考研] 2026考研调剂+本科延边大学+山东大学+生物化学与分子生物学+有项目经验 +3 ccdsscjy 2026-03-10 3/150 2026-03-14 00:12 by JourneyLucky
[考研] 336求调剂 +6 Iuruoh 2026-03-11 6/300 2026-03-13 22:06 by JourneyLucky
[考研] 求材料调剂 +5 隔壁陈先生 2026-03-12 5/250 2026-03-13 22:03 by 星空星月
[考研] 285化工学硕求调剂(081700) +6 柴郡猫_ 2026-03-12 6/300 2026-03-13 20:46 by hmn_wj
[考研] 求调剂 +5 一定有学上- 2026-03-12 5/250 2026-03-13 18:31 by ms629
[考研] 307求调剂 +5 超级伊昂大王 2026-03-12 5/250 2026-03-13 15:56 by 棒棒球手
[考研] 304求调剂(085602一志愿985) +12 化工人999 2026-03-09 12/600 2026-03-13 12:02 by JourneyLucky
[考研] 268求调剂 +4 好运连绵不绝 2026-03-12 4/200 2026-03-13 10:45 by hyswxzs
[考研] 化工学硕306求调剂 +9 42838695 2026-03-12 9/450 2026-03-13 10:16 by houyaoxu
[考研] 收调剂 +7 调剂的考研学生 2026-03-10 7/350 2026-03-10 17:57 by 麦茶汤圆
信息提示
请填处理意见