Make a function accept vector

2 Ansichten (letzte 30 Tage)
Tim
Tim am 12 Mär. 2018
Beantwortet: KL am 12 Mär. 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 Kommentar
Tim
Tim am 12 Mär. 2018
ah i did it. its function y = myfunction(x)
y=x.*(exp(x.*(-0.7))).*sqrt((x.^2)*2+1)
end

Melden Sie sich an, um zu kommentieren.

Antworten (1)

KL
KL am 12 Mär. 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

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by