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

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?

답변 (1개)

the cyclist
the cyclist 2018년 2월 28일
편집: the cyclist 2018년 2월 28일
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

I did that and took off the "@(x)" and it finally worked. Thank you!!
Happy to help. The best form of thanks is to upvote and/or accept an answer, which rewards the contributor, and can guide future users to helpful responses.
If a,b are matrix or ,how to do ??
IF a is matrix b is var ,how to do??
It's still the same syntax. You will get outputs that are scalars or matrices.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Functions에 대해 자세히 알아보기

질문:

2018년 2월 28일

댓글:

2020년 5월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by