Why can't I put two equations in one function file?

5 vues (au cours des 30 derniers jours)
Rachel Dawn
Rachel Dawn le 28 Fév 2018
Commenté : the cyclist le 1 Mai 2020
function a,b=myfunction(x)
a= @(x) 5-5*exp((1/3)*x) + (16- x^2)^(1/2)
b= @(x) (-5/3)*exp((1/3)*x) - (16- x^2)^(-1/2)
I basically want this function to give me f(x) value (equation listed next to a), and I want it to give me the f'(x) value (equation listed next to b).
Why is it that I can't have my input value go into two separate equations and come out as two outputs?
----
I know that I can create a function file f(x) with equation '5x^2 + 10' and then create its derivative function file:
function result= fd(x)
f(x)
result=10x;
and it will print out both values that I want (f(x) and f'(x)). But, do I really have to make two files for these two equations instead of just grouping them in one file?

Réponses (1)

the cyclist
the cyclist le 28 Fév 2018
Modifié(e) : the cyclist le 28 Fév 2018
It's just a simple syntax error. Try
function [a,b]=myfunction(x)
Note the square brackets around the outputs. You will get two outputs from this function.
  4 commentaires
PRED LIU
PRED LIU le 1 Mai 2020
If a,b are matrix or ,how to do ??
IF a is matrix b is var ,how to do??
the cyclist
the cyclist le 1 Mai 2020
It's still the same syntax. You will get outputs that are scalars or matrices.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by