24小时热门版块排行榜    

查看: 2083  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0856专硕279求调剂 +5 加油加油!? 2026-03-15 5/250 2026-03-15 11:58 by 2020015
[考研] 255求调剂 +3 李嘉慧, 2026-03-12 4/200 2026-03-14 16:58 by 有只狸奴
[考研] 【0703化学调剂】-一志愿华中师范大学-六级475 +5 Becho359 2026-03-11 5/250 2026-03-14 11:35 by 哦哦123
[考研] 330求调剂 +3 ?酱给调剂跪了 2026-03-13 3/150 2026-03-14 10:13 by JourneyLucky
[考研] 288求调剂 +14 王晓阳- 2026-03-09 19/950 2026-03-14 02:05 by JourneyLucky
[考研] 环境调剂 +6 晓看天暮看云 2026-03-09 6/300 2026-03-14 01:16 by JourneyLucky
[考研] 308求调剂 +3 是Lupa啊 2026-03-10 3/150 2026-03-14 00:30 by JourneyLucky
[考研] b区环境工程求调剂 +4 Maps1 2026-03-10 6/300 2026-03-14 00:23 by JourneyLucky
[考研] 材料工程,326分,求调剂 +6 KRSLSR 2026-03-10 6/300 2026-03-13 23:47 by JourneyLucky
[考研] 材料与化工(0856)304求B区调剂 +6 邱gl 2026-03-12 7/350 2026-03-13 23:24 by 邱gl
[考研] 求调剂(材料与化工327) +4 爱吃香菜啦 2026-03-11 4/200 2026-03-13 22:11 by JourneyLucky
[考研] (081700)化学工程与技术-298分求调剂 +12 11啦啦啦 2026-03-11 35/1750 2026-03-13 21:25 by JourneyLucky
[考研] 材料工程调剂 +4 咪咪空空 2026-03-11 4/200 2026-03-13 19:57 by JourneyLucky
[考研] 一志愿211化学学硕310分求调剂 +8 努力奋斗112 2026-03-12 9/450 2026-03-13 15:41 by JourneyLucky
[考研] 285求调剂 +4 ytter 2026-03-12 4/200 2026-03-13 14:48 by jxchenghu
[考研] 304求调剂(085602一志愿985) +12 化工人999 2026-03-09 12/600 2026-03-13 12:02 by JourneyLucky
[考研] 工科0856专硕化学工程269能调剂吗 +10 我想读研11 2026-03-10 10/500 2026-03-13 10:14 by Yuyi.
[考研] 085600 材料与化工 295 求调剂 +10 dream…… 2026-03-10 12/600 2026-03-12 13:46 by dream……
[考研] 290求调剂 +3 柯淮然 2026-03-10 8/400 2026-03-11 13:48 by 柯淮然
[考研] 294 英二数二物化 求调剂 +6 米饭团不好吃 2026-03-09 6/300 2026-03-09 23:55 by barlinike
信息提示
请填处理意见