Make a function accept vector

2 vues (au cours des 30 derniers jours)
Tim
Tim le 12 Mar 2018
Réponse apportée : KL le 12 Mar 2018
Hello, I am trying that this function below accepts vector inputs, but it doesnt want to work.
function y = myfunction(x)
y=x*(exp(x*(-0.7)))*sqrt(2*x^2+1)
end
I tried to replace the x* with x.*, but it wont work either. Maybe I am calling it wrong? myfunction(5) works, but myfunction([5 2]) does not.
Thanks in advance!
  1 commentaire
Tim
Tim le 12 Mar 2018
ah i did it. its function y = myfunction(x)
y=x.*(exp(x.*(-0.7))).*sqrt((x.^2)*2+1)
end

Connectez-vous pour commenter.

Réponses (1)

KL
KL le 12 Mar 2018
This is called the element-wise operation. When you write x^2, MATLAB tries to find x*x but when you write x.^2, it calculates square of every element.
>> x = 1:3;
>> x^2
Error using ^
Inputs must be a scalar and a square matrix.
To compute elementwise POWER, use POWER (.^) instead.
>> x.^2
ans =
1 4 9

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by