两个主函数怎么进行数据传递?
我在运算过程中,遇到了这个问题。就是我用到两个主函数,第二个主函数要用第一个主函数计算出来的数据,我该怎么进行数据传递呢??
我先运行完第一个主函数,然后用load把数据导入第二个函数,再运行第二个主函数,但程序老报错。。。。
望不吝赐教!!!
回复 楼主 的帖子
报什么错误 用save和load是可以在2个主函数之间传递数据,但在运行笫2个主函数时先清空工作区,又2个主函数的save和load命令都要书写正确。回复 3楼 的帖子
能不能举个例子啊??我试了,还是不行
应该是我load的时候出了问题了。
我的第一个m文件:
t = 0:0.001:10;
y = sin(t);
save('y.mat');
第二个m文件:
clear
clc
p = load('y.mat','y');
x = sin(p);
错误提示:??? Undefined function or method 'sin' for input arguments of type 'struct'.
帮忙看看啊。就上边的这个例子,我该怎么修改呢??
谢谢!
[ 本帖最后由 wxl789 于 2008-7-6 15:22 编辑 ] 原帖由 wxl789 于 2008-7-6 15:20 发表 http://www.chinavib.com/forum/images/common/back.gif
能不能举个例子啊??
我试了,还是不行
应该是我load的时候出了问题了。
我的第一个m文件:
t = 0:0.001:10;
y = sin(t);
save('y.mat');
第二个m文件:
clear
clc
p = load('y.mat','y');
x = sin(p);
第一个m文件应为:
t = 0:0.001:10;
y = sin(t);
save('y.mat','y');
第二个m文件:
clear
clc
load('y.mat');
这样就可以了,在save时要把变量名也作为参数放入。
回复 5楼 的帖子
不对啊还是出现上边那个错误:??? Undefined function or method 'sin' for input arguments of type 'struct'. 这个问题我已经解决了。
不用load改用importdata就可以了。。。
但是好像又有问题了:
我导入的数据是个整体,而我的第二个程序是分步执行的,每步只需要取导入数据中的一列,该怎么办呢??
是不是可以按列导入,也就是每步只导入一列呢???如果可以的话,该怎么修改命令呢??
谢谢!!
回复 7楼 的帖子
搜索下论坛里的分批读取数据回复 6楼 的帖子
注意是load('y.mat');不是p = load('y.mat');,再试试?回复 9楼 的帖子
这个问题我又重新思考了,觉得难点应该是怎么让ode45函数内外相互联系的问题。我也已经发帖:http://vibunion.com/forum/viewthread.php?replied=yes&tid=67764&pid=359700&page=1&extra=page%3D1#pid359700
请给予指导
谢谢!!
回复 10楼 的帖子
你的意思是根据计算的过程控制改变函数吧?回复 11楼 的帖子
难得啊无水也来这里啦
可能我还是没有把问题描述清楚
我又发了帖子
你看看
不知道说清楚了没有 错误提示:??? Undefined function or method 'sin' for input arguments of type 'struct'.
结构体不能直接进行函数运算,转化下就可以了
回复 13楼 的帖子
该怎么转化呢??我保存的本来就是数组,不是结构体,但在调入的时候,原来的数组变成了结构体,我现在也没有搞清楚这个是怎么回事。
还好直接用importdata就可以了。。。
关于上面的问题,还请赐教。。。。 楼主这问题解决了吗? 说真格, 水平不好看了许久, 晕眩了! 不很确定楼主的需求?
两个主函数怎么进行数据传递, 试试 global !
5F的 t = 0:0.001:10; y = sin(t); 怎可能会报 6F的错误提示:??? Undefined function or method 'sin' for input arguments of type 'struct' ?? t那有可能是structure array!?
7F "不用load改用importdata就可以了", why? 有差吗?
页:
[1]
2