24小时热门版块排行榜    

查看: 4060  |  回复: 14

wenqiang1938

铜虫 (小有名气)

[交流] 【求助】matlab 中,几个m文件调用 已有10人参与

matlab中,我编了几个m文件,单独运行没有问题,但是我想把几个m文件相互调用起来在一个m文件中运行,怎么样编写程序去调用这几个m文件。或者推荐哪些参考书?谢谢大家。(其中一个m文件输出是另一个m文件的输入)

[ Last edited by jjdg on 2011-4-19 at 00:21 ]
回复此楼
一切皆有可能
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lhfx_313

至尊木虫 (文坛精英)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
微尘、梦想(金币+2): 谢谢回复…… 2011-04-12 15:05:34
应该分模块实现,一个主模块+几个子模块(每个子模块也就对应一个函数,也就是以 function开头)。
写一个main.m作为主模块,然后调用其他的各个子模块(调用各个子函数)就行了。
举个例子:实现两个数的相加和相减
main.m   %%主函数
c1=Add(a,b); %调用子函数
c2=Add(a,b);  %调用子函数

Add.m(如下)
function c1=Add(a,b)
c1=a+b;

Subtract.m(如下)
function c2=Subtract(a,b)
c2=a-b;

[ Last edited by lhfx_313 on 2011-4-11 at 20:42 ]
2楼2011-04-11 20:32:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

colbertli

禁虫 (著名写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
微尘、梦想(金币+2): 谢谢回复…… 2011-04-12 15:05:54
本帖内容被屏蔽

3楼2011-04-11 20:38:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fyzhu

木虫 (正式写手)

学习了
好好学习,天天向上
4楼2011-04-15 16:27:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cldky11

禁虫 (小有名气)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
微尘、梦想(金币+1): 谢谢回贴交流…… 2011-04-19 15:16:11
本帖内容被屏蔽

5楼2011-04-18 21:24:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
微尘、梦想(金币+1): 谢谢回复! 2011-04-19 15:16:40
互相调用2个办法:

==========
1.子函数
==========

都写在一个文件中,例如叫main.m

function main()
%主函数内容

subFunc1(); % 掉用子函数1

subFunc2(); % 掉用子函数2
end

function subFunc1()
% 子函数1内容
end

function subFunc2()
% 子函数2内容
end

======================
2.多个m文件放在同一个文件夹下
======================
把上面的3个函数分别写在3个m文件中,文件命名必须与function name相同,然后就可以互相调用了.
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
6楼2011-04-19 00:41:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

高明敏

铁杆木虫 (正式写手)


微尘、梦想(金币+1): 谢谢参与,欢迎常来! 2011-04-19 15:17:04
引用回帖:
Originally posted by wenqiang1938 at 2011-04-11 11:50:29:
matlab中,我编了几个m文件,单独运行没有问题,但是我想把几个m文件相互调用起来在一个m文件中运行,怎么样编写程序去调用这几个m文件。或者推荐哪些参考书?谢谢大家。(其中一个m文件输出是另一个m文件的输入) ...

matlab写的好的有东北大学的  薛定宇,权威书! 我看着挺好的!
你说的应该就是函数嵌套,每一个M文件都起一个名,里面的函数名跟文件名一样! 之后就直接调用函数名就行了!这是一种吧
7楼2011-04-19 13:21:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jswoo

铁杆木虫 (著名写手)

阿拉多梦


小木虫(金币+0.5):给个红包,谢谢回帖
微尘、梦想: 呵呵……希望能给楼主一些实质性的回答! 2011-04-19 15:18:02
这个很容易的~~~~
8楼2011-04-19 14:38:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jswoo

铁杆木虫 (著名写手)

阿拉多梦

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
微尘、梦想(金币+2): 谢谢回复…… 2011-04-20 16:26:22
引用回帖:
Originally posted by wenqiang1938 at 2011-04-11 11:50:29:
matlab中,我编了几个m文件,单独运行没有问题,但是我想把几个m文件相互调用起来在一个m文件中运行,怎么样编写程序去调用这几个m文件。或者推荐哪些参考书?谢谢大家。(其中一个m文件输出是另一个m文件的输入) ...

给你举个非常简单的例子:

M1文件:必须保存为文件名 exam.m(保存的文件名需和自定义函数名同名)

function []=exam(a,b)       % a  b 为输入参数;  [ ]为输出参数
r=a+b;   % r为计算结果,返回给[]输出的

M2文件:假如这个为主函数(保存的文件名需和自定义函数名同名)

function main :必须保存为文件名 main.m
a=2;
b=1;
exam(a,b)  % 调用M1函数

-----------------------
在运行窗口输入:
main

输出结果为:
3
=================

就这样啊~~~~
9楼2011-04-20 10:47:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小新爱小白

金虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
569112楼: Originally posted by wenqiang1938 at 2011-04-11 11:50:29
matlab中,我编了几个m文件,单独运行没有问题,但是我想把几个m文件相互调用起来在一个m文件中运行,怎么样编写程序去调用这几个m文件。或者推荐哪些参考书?谢谢大家。(其中一个m文件输出是另一个m文件的输入)
...

Function [eval]=targetalloc (chrom)
[m,n]=size(chrom);
p=[87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;87 52 11 78 72 69 94 72 36 28 27 74 24 78 45;62 87 70 22 80 42 43 90 13 95 18 19 12 61 35;48 20 42 16 43 58 69 03 34 72 15 24 29 30 75];
w=[47 97 76 62 48 77 33 74 54 65 43 35 63 66 57];
for i=1:m
for j=1:15
chrom(i,j)=p(chrom(i,j),j);
end;
end
eval=chrom*w';
这个程序有什么问题,怎么总是提示错误,也运行不了呢?或者请指教怎么在Matlab 7.7.0(R2008b)里边具体步骤。
谢谢……
天天开心,事事顺利
10楼2012-08-11 20:05:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wenqiang1938 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +32 医学老男孩 2026-08-13 74/3700 2026-08-16 21:05 by 医学老男孩
[论文投稿] 岩土工程学报什么时候才能终审完呐 25+3 yeager111 2026-08-10 4/200 2026-08-16 20:42 by tfang
[基金申请] 时间戳又变了8-15 +13 archvillain 2026-08-15 25/1250 2026-08-16 20:13 by zhaosm1982
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 6/300 2026-08-16 20:07 by 奶牛小黑
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +9 Ldrop2023 2026-08-13 9/450 2026-08-16 13:24 by wukun_007
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +11 家与远方 2026-08-10 16/800 2026-08-16 10:28 by ray43
[基金申请] filecode=后面第一个是大写字母 +6 wangze12014 2026-08-14 7/350 2026-08-15 20:12 by gltch
[基金申请] filecode +8 cratir 2026-08-14 12/600 2026-08-15 18:08 by zyfgau
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +12 Tide man 2026-08-10 13/650 2026-08-15 16:34 by 氺木
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
信息提示
请填处理意见