MATLAB Answers

How to merge two test scripts into one

8 views (last 30 days)
Xiaoxuan Guo
Xiaoxuan Guo on 1 Jul 2021
Edited: Shubham Khatri on 5 Jul 2021
Hi! I have two seperate scripts for different behavioural tests now (.m file). They record and save data to different paths. I want to merge the two tests so they could be ran one after another without having to initialise psychtoolbox twice and with all the data saved into one file in the end. Any idea how to do this in a simple way?
  3 Comments
Mathieu NOE
Mathieu NOE on 2 Jul 2021
hello
why not create a main code that calls your two files once transformed as functions ?

Sign in to comment.

Answers (1)

Shubham Khatri
Shubham Khatri on 5 Jul 2021
Edited: Shubham Khatri on 5 Jul 2021
Hello,
To my understanding, you have two functions and you want to call them one after other. You can do it in two different ways.
Create two function files for your two different functions. (Remove all other information except the function declaration part from the file and save the file as your 'function name'.)
I am attaching a code with example
function [Add]=f1(a,b) %function f1 saved as f1.m
Add=a+b;
end
function [mul]=f2(a,b) %function f2 saved as f2.m
mul=a*b;
end
Now you can do two things.
  1. Create a seperate function in a third file which calls the two functions one after other. Lets name this function as f3. Now you can use this function in your working files.
function f3(x,y) %function f3 saved as f3.m
f1(x,y) %calling f1 and f2 one after other
f2(x,y)
end
2. Another approach is, simply calling f1 and f2 in your working file to call and execute in any order you want.
You can also add loop to any of these functions to call each or both functions any number of times you want.
Refer to these (Answer 1 Answer 2) community answers for your support.
Also, refer to these documentation link on creating and caling functions.
Hope it helps

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by