matlab 如何同时独立运行两个函数呢?这两个函数没有关系,但需要同时运行~各位朋友帮帮忙,不会实现啊。
答案:2 悬赏:70
解决时间 2021-03-20 17:20
- 提问者网友:心如荒岛囚我终老
- 2021-03-20 09:25
matlab 如何同时独立运行两个函数呢?这两个函数没有关系,但需要同时运行~各位朋友帮帮忙,不会实现啊。
最佳答案
- 二级知识专家网友:酒安江南
- 2021-03-20 10:54
不用什么特别的命令,当主程序调用时,两个函数自动就会同时运行了
举个简单例子:
函数1:(myfun1.m)
function y=myfun1(x)
y=3*sin(x)+4*cos(x);
-----------------------------
函数2:(myfun2.m)
function y=myfun2(x)
y=2*sin(2*x)+3*cos(2*x);
-------------------------------
主程序:
clear all;clc;
x=-pi:pi/40:pi;
y=myfun1(x)+myfun2(x);
plot(x,y);grid on;追答
追问:您好,谢谢您的回答。上面那个例子是 y=myfun1(x)+myfun2(x),是两个函数相加,能不能让这两个函数分别独立一起运行呢?比如,函数1运行函数一的,函数二运行函数二的,两者互不相关。谢谢。
追答:可以,你分开调用就可以了:
clear all;clc;
x=-pi:pi/40:pi;
y1=myfun1(x);
y2=myfun2(x);
plot(x,y1);grid on;hold on;
plot(x,y2,'r');
追问:上面的
y1=myfun1(x);
y2=myfun2(x);
plot(x,y1);grid on;hold on;
plot(x,y2,'r');
是先运行了 y1=myfun1(x);后运行了y2=myfun2(x);如何让这两个同步运行呢?就是两个m文件并行运算~
追答:不好意思,可能是我理解错了,跟你的问题可能不是一个意思
你说的是并行计算的问题吧,这个和我说的函数调用不是一回事的
大概要用到创建对象、创建工作、创建任务、提交、返回等过程
这个我也不是很熟,因为一般的小问题用不到并行计算问题。
举个简单例子:
函数1:(myfun1.m)
function y=myfun1(x)
y=3*sin(x)+4*cos(x);
-----------------------------
函数2:(myfun2.m)
function y=myfun2(x)
y=2*sin(2*x)+3*cos(2*x);
-------------------------------
主程序:
clear all;clc;
x=-pi:pi/40:pi;
y=myfun1(x)+myfun2(x);
plot(x,y);grid on;追答
追问:您好,谢谢您的回答。上面那个例子是 y=myfun1(x)+myfun2(x),是两个函数相加,能不能让这两个函数分别独立一起运行呢?比如,函数1运行函数一的,函数二运行函数二的,两者互不相关。谢谢。
追答:可以,你分开调用就可以了:
clear all;clc;
x=-pi:pi/40:pi;
y1=myfun1(x);
y2=myfun2(x);
plot(x,y1);grid on;hold on;
plot(x,y2,'r');
追问:上面的
y1=myfun1(x);
y2=myfun2(x);
plot(x,y1);grid on;hold on;
plot(x,y2,'r');
是先运行了 y1=myfun1(x);后运行了y2=myfun2(x);如何让这两个同步运行呢?就是两个m文件并行运算~
追答:不好意思,可能是我理解错了,跟你的问题可能不是一个意思
你说的是并行计算的问题吧,这个和我说的函数调用不是一回事的
大概要用到创建对象、创建工作、创建任务、提交、返回等过程
这个我也不是很熟,因为一般的小问题用不到并行计算问题。
全部回答
- 1楼网友:像个废品
- 2021-03-20 11:35
我想你是要实现matlab并行计算。以前实现比较麻烦,新版本的matlab很容易了
matlabpool(2)
parfor i=1:2
eval(['myfun' num2str(i) ';']);
end
matlabpool(2)
parfor i=1:2
eval(['myfun' num2str(i) ';']);
end
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯