Calling a function in MATLAB

1,251 ビュー (過去 30 日間)
user06
user06 2015 年 2 月 23 日
コメント済み: Walter Roberson 2024 年 1 月 19 日
How can I call a function written in an .m file?

採用された回答

Stephen23
Stephen23 2015 年 2 月 23 日
編集済み: MathWorks Support Team 2019 年 5 月 22 日
To call a function or a script, just write its name with the necessary inputs:
my_function(...)
Or
my_script
This works in the command window, or within another function or script.
You might like to revise the differences between scripts and functions in MATLAB, as these have very different properties! You also have to ensure that the called function can be found by MATLAB, which means it must be on the search path .
  2 件のコメント
user06
user06 2015 年 2 月 23 日
actually i have written a function in a diff file ok now i need to call that function from a different file. then how to do that?
Stephen23
Stephen23 2015 年 2 月 23 日
Your two functions are in two different Mfiles. If these are functions you should ensure that the function and Mfile names are the same. Then you can simply call one function from the other one (assuming that they are both on the MATLAB search path). If this is one function:
function y = my_square(x)
% square a number
y = x.^2;
end
then we can simply call it in another function like this:
function out = my_fun
a = 3;
out = my_square(a); % <- call the other function
end

サインインしてコメントする。

その他の回答 (1 件)

Aicha Ibtissem
Aicha Ibtissem 2024 年 1 月 19 日
編集済み: Walter Roberson 2024 年 1 月 19 日
Hello, I cant call my function, I have this error.THANKS
Error<<Execution of script myplotfunction1 as a function is not supported:
C:\Users\fadel\Documents\MATLAB\myplotfunction1.m>>
clear all;
clc;
function myplotfunction(equation)
x=linspace(-10,10,100);
y=eval(equation);
figure;
plot(x,y,'lineWidth',2)
title(['Représentation graphique de la fonction : ' equation]);
xlabel('x');
ylabel('y');
grid on;
end
  2 件のコメント
Steven Lord
Steven Lord 2024 年 1 月 19 日
Delete these two lines from your file. They make your file a script file, not a function file, and you can't call a script with input arguments like you call a function.
clear all;
clc;
Walter Roberson
Walter Roberson 2024 年 1 月 19 日
The
clear all
clc;
makes that into a script. Get rid of those.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeFunctions についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by