wxl789 发表于 2008-7-4 17:12

两个主函数怎么进行数据传递?

我在运算过程中,遇到了这个问题。

就是我用到两个主函数,第二个主函数要用第一个主函数计算出来的数据,我该怎么进行数据传递呢??

我先运行完第一个主函数,然后用load把数据导入第二个函数,再运行第二个主函数,但程序老报错。。。。

望不吝赐教!!!

sigma665 发表于 2008-7-4 17:21

回复 楼主 的帖子

报什么错误

songzy41 发表于 2008-7-4 17:50

用save和load是可以在2个主函数之间传递数据,但在运行笫2个主函数时先清空工作区,又2个主函数的save和load命令都要书写正确。

wxl789 发表于 2008-7-6 15:20

回复 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 编辑 ]

songzy41 发表于 2008-7-6 16:26

原帖由 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时要把变量名也作为参数放入。

wxl789 发表于 2008-7-6 17:31

回复 5楼 的帖子

不对啊
还是出现上边那个错误:??? Undefined function or method 'sin' for input arguments of type 'struct'.

wxl789 发表于 2008-7-6 17:41

这个问题我已经解决了。
不用load改用importdata就可以了。。。

但是好像又有问题了:
我导入的数据是个整体,而我的第二个程序是分步执行的,每步只需要取导入数据中的一列,该怎么办呢??

是不是可以按列导入,也就是每步只导入一列呢???如果可以的话,该怎么修改命令呢??

谢谢!!

sigma665 发表于 2008-7-6 19:28

回复 7楼 的帖子

搜索下论坛里的分批读取数据

sogooda 发表于 2008-7-6 21:29

回复 6楼 的帖子

注意是load('y.mat');不是p = load('y.mat');,再试试?

wxl789 发表于 2008-7-11 20:58

回复 9楼 的帖子

这个问题我又重新思考了,觉得难点应该是怎么让ode45函数内外相互联系的问题。
我也已经发帖:http://vibunion.com/forum/viewthread.php?replied=yes&tid=67764&pid=359700&page=1&extra=page%3D1#pid359700

请给予指导
谢谢!!

无水1324 发表于 2008-7-11 21:38

回复 10楼 的帖子

你的意思是根据计算的过程控制改变函数吧?

wxl789 发表于 2008-7-11 22:28

回复 11楼 的帖子

难得啊
无水也来这里啦

可能我还是没有把问题描述清楚

我又发了帖子
你看看

不知道说清楚了没有

花如月 发表于 2008-7-12 14:19

错误提示:??? Undefined function or method 'sin' for input arguments of type 'struct'.

结构体不能直接进行函数运算,转化下就可以了

wxl789 发表于 2008-7-13 08:52

回复 13楼 的帖子

该怎么转化呢??

我保存的本来就是数组,不是结构体,但在调入的时候,原来的数组变成了结构体,我现在也没有搞清楚这个是怎么回事。
还好直接用importdata就可以了。。。

关于上面的问题,还请赐教。。。。

ChaChing 发表于 2008-12-5 22:17

楼主这问题解决了吗? 说真格, 水平不好看了许久, 晕眩了! 不很确定楼主的需求?

两个主函数怎么进行数据传递, 试试 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
查看完整版本: 两个主函数怎么进行数据传递?