MATLAB中文论坛

 找回密码
 注册
搜索
MathWorks官方免费在线研讨会:使用Polyspace进行软件代码错误检查和运行时错误证明
MathWorks官方MATLAB和Simulink现场研讨会: 基于模型的验证及自动代码生成(武汉站)
查看: 2603|回复: 9

[已答复] matlab中mat文件数据作为自定义函数的参数

[复制链接]
发表于 2008-11-17 19:38:59 | 显示全部楼层 |阅读模式
比方说有三个数组存在磁盘上如下:
A.mat,  B,mat   C,mat

function  y= test(X)
load X;
[M N]=max(A);
y =  max(M);

怎么不行呀?

[ 本帖最后由 edifiers2008 于 2008-11-17 19:47 编辑 ]
发表于 2008-11-17 19:45:22 | 显示全部楼层
MATLAB初学者必读
不是你这样用的。
比如说,现在有一个A.mat文件,这个文件里有变量a这个矩阵,你只需要在需要用的时候load A.mat a;这样a就直接可以用了
发表于 2008-11-17 19:46:43 | 显示全部楼层
请给出报错信息 ,方可直到具体缘由。
 楼主| 发表于 2008-11-17 19:58:12 | 显示全部楼层

回复 2# edifiers2008 的帖子

那接着上面说,打个比方,怎么写一个函数,查询A,B ,C 中的最大值
 楼主| 发表于 2008-11-17 20:03:25 | 显示全部楼层

回复 3# hackersun 的帖子

Undefined function or variable 'A'
发表于 2008-11-17 20:04:20 | 显示全部楼层
比如A.mat,  B,mat   C,mat中,分别有矩阵A B C
我不知道你的X代表什么,权且认为是一个参数是已知的
function  y= test(X)
load A.mat A;
[M N]=max(A);
y =  max(M);
end
你试试吧。
 楼主| 发表于 2008-11-17 20:09:56 | 显示全部楼层

回复 6# edifiers2008 的帖子

x 就是代表 输入的参数,A,B,C其中的一个矩阵, 你写的这个函数 没有用到输入的参数
发表于 2008-11-17 20:14:49 | 显示全部楼层
A.mat,  B,mat   C,mat

function  y= test(X)
load X;
[M N]=max(X);
y =  max(M);
end
发表于 2008-11-17 21:29:27 | 显示全部楼层
假设你是按
save A.mat x,
save B.mat x
保存的数据

%testloadmat
function  y= testloadmat(X)
X = load ([X '.mat']);
X = X.x;
[M N]=max(X);
y =  max(M);

调用时 testloadmat('A'), 不要漏了单引号
 楼主| 发表于 2008-11-18 16:28:47 | 显示全部楼层

回复 9# diddle 的帖子

谢谢了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则


2014 MATLAB 巡回研讨会会

 

 

MathWorks举办,一年一度

中国区大型MATLAB主题技术研讨会

联系我们|版权保护|小黑屋|Archiver|手机版|MATLAB中文论坛 ( 苏ICP备08100737号 )

GMT+8, 2014-4-21 20:03 , Processed in 0.518540 second(s), 36 queries , Xcache On.

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表